سؤال

كيف يمكنني تعيين معرف المستخدم وكلمة المرور للمصادقة الأساسية عند استخدام RestyGWT خدمات الراحة?

ال دليل مستخدم RestyGWT يصف كيفية تعيين معرف المستخدم وكلمة المرور المستخدمة في المصادقة الأساسية لـ RestyGWT واجهة برمجة تطبيقات REST لكنني لم أجد أي مستندات تصف كيفية إجراء المصادقة الأساسية باستخدام RestyGWT خدمات الراحة

أنا أستخدم RestyGWT v1.2

***** تحديث *******حاولت ما يلي دون جدوى.لا يزال المتصفح يفتح مطالبة بمعرف المستخدم / كلمة المرور عندما أتصل بطريقة الخدمة.

final Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "Basic anJvYmPpbnKAbGl4ZXByb2N4c3OuZ29tOmpyb2JiaW6z");
final Resource workflowResource = new Resource("", headers);
((RestServiceProxy)workflowService).setResource(workflowResource);
هل كانت مفيدة؟

المحلول 2

أعتقد أن مثال الكود المقدم في السؤال يجب أن يعمل.لقد وجدت شخصًا آخر يواجه مشكلات في إضافة رأس مخصص إلى خدمة RestyGWT كما هو موضح في هذا المشنور إلى مجموعة RestyGWT و هذا الخطأ في جيثب.

كحل مؤقت، أستخدم @HeaderParam وتمرير رأس التفويض المشفر Base64 من خلال استدعاء أسلوب RestService.

public void getRestData(@HeaderParam("Authorization") String authHeader, MethodCallback<List<Workflow>> callback);

نصائح أخرى

أفعل ذلك باستخدام DispatcherFilter، داخل طريقة التصفية.

@Override
    public boolean filter(Method method, RequestBuilder builder)
    {
        ....
        builder.setHeader(KEY, value);
        ....
        return true;
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top