تسجيل الدخول JSP مع الأمن التعريفي - كيف تحدث المصادقة الفعلية؟

StackOverflow https://stackoverflow.com/questions/4024192

سؤال

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

من خلال تحديد دور أمان في web.xml مثل "المسؤول" على سبيل المثال ، ووجود نموذج تسجيل الدخول الخاص بي مع جميع الحقول اللازمة (أي j_security_check كإجراء ، والحقول j_username ، j_password) ، كيف/أين تحدث المصادقة الفعلية؟

أخطط لاستخدام مصادقة مخصصة باستخدام اسم المستخدم/كلمات المرور (تجزئة) المخزنة في قاعدة البيانات. عندما يقدم المستخدم النموذج ، كيف يمكنني جعل حاوية الويب Java EE تستدعي طريقة Sevlet/Bean تقوم بأداء المصادقة الفعلية؟ لم ألاحظ أي مكان لإضافة خطاف إلى الكود الخاص بي في web.xml والذي سيفعل المصادقة الفعلية.

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

المحلول

من خلال تحديد دور أمان في web.xml مثل "المسؤول" على سبيل المثال ، ووجود نموذج تسجيل الدخول الخاص بي مع جميع الحقول اللازمة (أي j_security_check كإجراء ، والحقول j_username ، j_password) ، كيف/أين تحدث المصادقة الفعلية؟

في تنفيذ servlet ، servletcontainer. في Tomcat على سبيل المثال ، يتم ذلك بواسطة AuthenticatorBase فئة (رمز المصدر هنا).

أخطط لاستخدام مصادقة مخصصة باستخدام اسم المستخدم/كلمات المرور (تجزئة) المخزنة في قاعدة البيانات. عندما يقدم المستخدم النموذج ، كيف يمكنني جعل حاوية الويب Java EE تستدعي طريقة Sevlet/Bean تقوم بأداء المصادقة الفعلية؟ لم ألاحظ أي مكان لإضافة خطاف إلى الكود الخاص بي في web.xml والذي سيفعل المصادقة الفعلية.

إذا كنت ترغب في الاستمرار في استخدام المصادقة المدارة في الحاوية ، ولكن بدلاً من ذلك تريد التحقق من تسجيل الدخول مقابل قاعدة بيانات ، فأنت بحاجة إلى تكوين ما يسمى "العالم" وفقًا لذلك. من غير الواضح أي ServletContainer الذي تستخدمه ، ولكن على سبيل المثال Tomcat ، فإن الوثائق متوفرة هنا: Tomcat 6.0 Realm How-to.

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

نصائح أخرى

ال فِعلي المصادقة تفعل من خلال طريقين:

  1. عبر خادم طريقة الملكية ، على سبيل المثال *loginmodules في jboss ، أو tomcat واحد balusc المذكورة. هذه مختلفة لكل خادم.
  2. عبر Jaspic ، الذي تم تقديمه في Java EE 6.

قام Jaspic إلى حد كبير بتوحيد الأساليب الملكية ، لكنها واجهة برمجة تطبيقات منخفضة المستوى إلى حد ما ، وللأسف متاحة فقط لتطبيقات Java EE 6 و 7 الكاملة.

يرى تنفيذ مصادقة الحاوية في Java EE مع Jaspic لمزيد من التفاصيل.

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