سؤال

أرغب في تأمين خدمة الويب الخاصة بي (Java Metro) مع تسجيل الدخول.

إليك كيف أخطط للقيام بذلك:

الخطوات المطلوبة عند استدعاء طريقة خدمة الويب هي:

  1. تسجيل الدخول (المستخدم ، PWD) ، تلقي رمز جلسة 1.1 تذكر الرمز المميز
  2. Call Servicemethod (Token ، Arg1 ، Arg2 ...)
  3. يتحقق WebService إذا كان الرمز المميز معروفًا ، إن لم يكن استثناءً ،
  4. تسجيل الخروج أو المهلة بعد فترات عدم النشاط الزمنية x

أسئلتي: 1. ما رأيك في هذا النهج؟ هل له معنى؟ 2. هل هناك أي مكتبات تأخذ عبء كتابة الجلسة (ربما مع استمرار قاعدة البيانات لإعادة تشغيل تطبيقات البقاء على قيد الحياة)

(يجب أن يكون الحل بسيطًا وقابل للاستخدام بسهولة مع عملاء Java و .NET)

شكرًا!

هل كانت مفيدة؟

المحلول

هذا ممكن ورأيت خدمات الويب باستخدام نهج مماثل. لكنني لن أقوم بتنفيذ الحل المخصص الخاص بي. بدلاً من ذلك ، أود استخدام رمز أمان من مواصفات WS-Security ، وبشكل أكثر دقة رمز اسم المستخدم (تحصل على هذا من wsit وهو جزء من المترو وبالتالي يمكن تشغيله مع عملاء .NET). القي نظرة على هذه المقالة لمقدمة.

تحديث: المزيد من المؤشرات:

لا أستطيع أن أقول إنني وجدت WS-Security ودودًا للغاية ، لكن تجربتي هي أن استخدام WS-Security يستغرق وقتًا أقل من تطبيق حل مخصص ، يكون أكثر أمانًا ويتميز بشكل أفضل (التحقق من قاعدة البيانات في كل مكالمة له تكلفة ).

تعديل:

تصحيح الرابطين الأولين ، لأنهم ماتوا. لم أستطع العثور على واحدة للثالث ولكني أعتقد أن الثانية يجب أن تغطي ذلك.

نصائح أخرى

لا تقفز على الفور إلى تنفيذ هذا بنفسك من الألف إلى الياء. تقدم العديد من أطر عمل J2EE / Java الدعم للتحكم في تسجيل الدخول / الوصول. ألق نظرة على الوثائق للإطار الذي تستخدمه حاليًا.

البديل البسيط الآخر هو تنفيذ التحكم في الوصول في خادم الويب الأمامي ؛ مثل Apache HTTPD يتصرف كوكيل عكسي لـ Tomcat.

لقد فكرت في المحاولة أباتشي شيرو, ، لا أستطيع حقًا أن أقول ما إذا كان ذلك جيدًا. تبدو جيدة رغم ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top