我正在尝试为我的 Web 应用程序(JSF 2.1 + hibernate)设置一个容器管理安全领域。我注意到 Tomcat 7 一次只能使用一种类型的领域。
要在 netbeans (7.0) 中使用 Tomcat,我必须创建一个管理员脚本角色的帐户。除了与 Tomcat 经理一起工作外,我还需要另一个角色。这对我来说是一个大问题,因为我用于 JDBCRealm 的表是来自存储用户和角色的实际表的视图,我不想将这两个角色都存储在我的程序使用的同一个数据库中。
有没有办法让 JDBCRealm 和 UserDBRealm 一起工作?那将是一种解脱。
这是来自 server.config 的代码:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost:3306/realm?user=login&password=pass"
userTable="users"
userNameCol="user_name"
userCredCol="user_pass"
userRoleTable="user_roles"
roleNameCol="role_name" />
tomcat 只使用他在文件中找到的最后一个。他们分别工作正常