org.apache.catalina.realm.jdbcrealm에 버그가 있습니까?
-
06-07-2019 - |
문제
http://www.docjar.com/html/api/org/apache/catalina/realm/jdbcrealm.java.html
이 jdbcrealm을 사용하려면 사용자와 사용자 _role의 두 테이블이 필요합니다.
user table - user_id, user_name, user_password
user_role table - user_id, role_id, user_name
user_role 테이블에서 user_name이 필요한 이유 user_id가 외부 키로있을 때 JDBCREALM은 Join 쿼리를 사용하여 이전 쿼리에서 user_id를 저장하는 경우 역할이나 직접 쿼리를 추출 할 수있었습니다.
해결책
여기에 있습니다 Tomcat 6 문서 ~을 위한 JDBCRealm
.
user_id
두 테이블에서도 필요하지 않습니다 role_id
. users
테이블이 있어야합니다 user_name
그리고 user_password
열; roles
테이블이 있어야합니다 user_name
그리고 role_name
열. 테이블은 링크되어 있습니다 user_name
.
이런 식으로 수행 된 이유 (숫자 ID보다는 문자열). Principal
이름이 a String
그리고 isUserInRole()
호출은 역할 이름을 사용합니다 String
또한.
제휴하지 않습니다 StackOverflow