角色鉴权服务
| Modifiers | Name | Description |
|---|---|---|
static Object |
aliasOverridingOrder |
|
static List<String> |
allGrantedCodesCache |
| Type | Name and description |
|---|---|
grails.plugin.springsecurity.SpringSecurityService |
springSecurityService |
| Type | Name and description |
|---|---|
boolean |
canSwitchUser(String username, String targetUsername)检查当前用户是否可以切换到目标用户,防止切换到高级别的用户 |
Role |
get(String code, Domain domain, DomainApplication application)根据代码和所属应用或域,获得生效的角色对象 |
Role |
get(String code)根据代码获得不属于任何应用和域的角色对象 |
Role |
get(String code, Domain domain)根据代码和所属域,获得角色对象 |
Role |
get(String code, DomainApplication application)根据代码和所属应用,获得角色对象 |
List |
getAll(String code, Map options = null)根据代码获得所有角色 |
Role |
getAny(String code)根据代码获得任意一个角色对象 |
Long |
getAnyId(String code)根据代码获得任意一个角色ID |
Role |
getCurrent(String code)根据代码获得当前生效的角色对象 |
Long |
getCurrentId(String code)根据代码获得当前生效的角色ID |
Long |
getId(String code, Domain domain, DomainApplication application)根据代码和所属应用或域,获得生效的角色ID |
Long |
getId(String code)根据代码获得不属于任何应用和域的角色ID |
Long |
getId(String code, Domain domain)根据代码和所属域,获得角色ID |
Long |
getId(String code, DomainApplication application)根据代码和所属应用,获得角色ID |
Granted |
isAnyGranted(String roleCodes, Object userIdent = null)@param bean 需要鉴权的Bean对象:
如果需要Bean级别的鉴权,则设置为需要鉴权的bean对象(默认为null);
鉴权时,会先对整个角色鉴权,当角色鉴权不成功时,才采用service2、script2两种鉴权方式进行bean的鉴权,
此时不设置缓存(因为Bean可能随时变化),即缓存仅针对整个角色,而不针对具体的某个Bean。 |
Granted |
isAnyGranted(List<String> codes, Object userIdent = null)判断是否有权限 |
Granted |
isGranted(String code, Object userIdent = null, Map options = null)判断是否有权限(有缓存) |
Granted |
isGranted(Map role, Object userIdent = null)判断是否有权限(有缓存) |
Granted |
isGranted(Role role, Object userIdent = null)判断是否有权限(有缓存) |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
检查当前用户是否可以切换到目标用户,防止切换到高级别的用户
username - 用户登录名,null 则表示当前用户targetUsername - 切换目标用户根据代码和所属应用或域,获得生效的角色对象
code - 角色代码,支持通配符 *根据代码获得不属于任何应用和域的角色对象
code - 角色代码,支持通配符 *根据代码和所属应用,获得角色对象
code - 角色代码,支持通配符 *根据代码获得所有角色
code - 角色代码,支持通配符 *options.result - 返回值类型,"map"或"bean";默认为"map",即返回 Map 列表,性能好很多。根据代码获得任意一个角色对象
code - 角色代码,支持通配符 *根据代码获得任意一个角色ID
code - 角色代码,支持通配符 *根据代码获得当前生效的角色对象
code - 角色代码,支持通配符 *根据代码获得当前生效的角色ID
code - 角色代码,支持通配符 *根据代码和所属应用或域,获得生效的角色ID
code - 角色代码,支持通配符 *根据代码获得不属于任何应用和域的角色ID
code - 角色代码,支持通配符 *根据代码和所属域,获得角色ID
code - 角色代码,支持通配符 *根据代码和所属应用,获得角色ID
code - 角色代码,支持通配符 *
bean - 需要鉴权的Bean对象:
如果需要Bean级别的鉴权,则设置为需要鉴权的bean对象(默认为null);
鉴权时,会先对整个角色鉴权,当角色鉴权不成功时,才采用service2、script2两种鉴权方式进行bean的鉴权,
此时不设置缓存(因为Bean可能随时变化),即缓存仅针对整个角色,而不针对具体的某个Bean。判断是否有权限
codes - 角色代码列表,支持通配符 *判断是否有权限(有缓存)
code - 角色代码,支持通配符*userIdent - 需要鉴权的用户,可以是Employee(员工对象)、EmployeeIdentity(员工身份对象)、
User(用户对象)、username(用户名)、userId(用户ID,Long类型)、null(==当前用户)options.applicationId - 角色所属应用或应用IDoptions.domainId - 角色所属域或域ID判断是否有权限(有缓存)
role - 包含角色 id、code、domainId、applicationId 的 Map 对象