هل هناك خلل في org.apache.catalina.realm.JDBCRealm؟
-
06-07-2019 - |
سؤال
لاستخدام هذا 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
كذلك.
لا تنتمي إلى StackOverflow