org.apache.catalina.realm.JDBCRealmにバグはありますか?
-
06-07-2019 - |
質問
http://www.docjar .com / html / api / org / apache / catalina / realm / JDBCRealm.java.html
このJDBCRealmを使用するには、userとuser_roleの2つのテーブルが必要です。
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
を介してリンクされます。
この方法(数値ではなく文字列)で行われた理由は、 Principal
が String
および isUserInRole()
呼び出しとして名前を持っているためです。ロール名も String
として取ります。
所属していません StackOverflow