org.apache.catalina.realm.JDBCRealm中是否有错误?
-
06-07-2019 - |
题
http://www.docjar的.com / HTML / API /组织/阿帕奇/卡塔利娜/境界/ JDBCRealm.java.html
要使用此JDBCRealm,我们需要两个表,user和user_role。
user table - user_id, user_name, user_password
user_role table - user_id, role_id, user_name
当user_id作为外键时,为什么user_role表中需要user_name。如果JDBCRealm存储来自先前查询的user_id,则它可以使用连接查询来提取角色或直接查询。
解决方案
这是 Tomcat 6文档 > JDBCRealm 代码>。
user_id
,也不需要 role_id
。 users
表应具有 user_name
和 user_password
列; roles
表应包含 user_name
和 role_name
列。表通过 user_name
链接。
这样做的原因(字符串而不是数字ID)是因为 Principal
的名称为 String
和 isUserInRole()
调用将角色名称作为 String
。
不隶属于 StackOverflow