【发布时间】:2018-02-12 09:35:18
【问题描述】:
我有点卡在这里。
在 jdbcRealm 中使用一个非常简单的 Shiro 配置:
[main]
cacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $cacheManager
# Create JDBC realm.
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
# Configure JDBC realm datasource.
ds = org.postgresql.ds.PGSimpleDataSource
ds.databaseName = pg_sensor
***
jdbcRealm.dataSource = $ds
# Configure JDBC realm SQL queries.
jdbcRealm.authenticationQuery = SELECT pass FROM users WHERE name = ?
# user id is a user Role )
jdbcRealm.userRolesQuery = SELECT id FROM users WHERE name = ?
所以,我使用userid 作为角色在代码中进行授权。
在一种情况下,我需要获取角色名称才能继续。
任何人都可以通过Principal (SecurityUtils.getSubject().getPrincipal()) 建议如何做到这一点吗?
我想我们需要使用 getRoles() 与 SimpleAccount 类,但无法将其与 Principal 连接。
【问题讨论】:
标签: authorization shiro