我正在开发一个项目,该项目具有使用@RolesAllowed 注释的服务。我知道这个注释定义了可以访问该方法的角色。但我不确定这些角色是在哪里定义的,以及如何为不同的角色添加用户。我正在使用 weblogic 作为应用程序服务器。
user8710021
问问题
859 次
1 回答
-1
有很多方法可以设置角色,例如,如果您使用 Shiro JDBC 领域,您可以指定从用户名获取角色的查询。
此示例来自 Application 类
@Bean
public Realm realm() {
JdbcRealm realm = new JdbcRealm();
realm.setDataSource(dataSource);
realm.setAuthenticationQuery("SELECT password FROM user_login WHERE username = ?");
realm.setUserRolesQuery("SELECT role FROM user_role WHERE username = ?");
realm.setPermissionsQuery("SELECT permission FROM role_permission WHERE role = ?");
realm.setCredentialsMatcher(new HashedCredentialsMatcher(Sha512Hash.ALGORITHM_NAME));
realm.setPermissionsLookupEnabled(true);
return realm;
}
简短的回答是该角色通常由使用登录凭据的领域找到。JDBC 领域必须有一个默认查询,例如select role_name from user_roles where username = ?"
LDAP 领域会将 LDAP 组分配给角色
......
于 2018-03-12T18:01:11.150 回答