سؤال

HTTP: //www.docjar كوم / أتش تي أم أل / المعهد / المنظمة / اباتشي / كاتالينا / عالم / JDBCRealm.java.html

لاستخدام هذا JDBCRealm نحتاج جدولين المستخدم وUSER_ROLE.

user table - user_id, user_name, user_password
user_role table - user_id, role_id, user_name

وماذا مطلوب اسم_المستخدم في الجدول USER_ROLE عندما USER_ID هناك كمفتاح أجنبي. وJDBCRealm يمكن أن تستخدم استعلام الانضمام لاستخراج الأدوار أو استعلام المباشر، وكذلك إذا كان يخزن USER_ID من الاستعلام السابق.

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

المحلول

إليك القط 6 الوثائق للحصول على JDBCRealm.

لا حاجة user_id في أي جدول، ولا هو role_id. يجب أن يكون الجدول users user_name وuser_password الأعمدة. يجب أن يكون الجدول roles user_name وrole_name الأعمدة. ترتبط الجداول عبر user_name.

والسبب انها فعلت بهذه الطريقة (سلسلة هويات بدلا من رقمية) لأن Principal كان الاسم مثل String ودعوة isUserInRole() يأخذ اسم الدور كما String كذلك.

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