您的位置:首页 > 编程语言 > Java开发

Spring Security#Expression-Based Access Control

2017-09-07 22:52 393 查看
Expression-Based Access Control

26.1 Overview

26.1.1 Common Built-In Expressions

SecurityExpressionRoot

MethodSecurityExpressionRoot

WebSecurityExpressionRoot

public final boolean hasAuthority(String authority) {
return hasAnyAuthority(authority);
}

public final boolean hasAnyAuthority(String... authorities) {
return hasAnyAuthorityName(null, authorities);
}

public final boolean hasRole(String role) {
return hasAnyRole(role);
}

public final boolean hasAnyRole(String... roles) {
return hasAnyAuthorityName(defaultRolePrefix, roles);
}

private boolean hasAnyAuthorityName(String prefix, String... roles) {
Set<String> roleSet = getAuthoritySet();

for (String role : roles) {
String defaultedRole = getRoleWithDefaultPrefix(prefix, role);
if (roleSet.contains(defaultedRole)) {
return true;
}
}

return false;
}


public final boolean permitAll() {
return true;
}

public final boolean denyAll() {
return false;
}


public final boolean isAnonymous() {
return trustResolver.isAnonymous(authentication);
}

public final boolean isAuthenticated() {
return !isAnonymous();
}

public final boolean isRememberMe() {
return trustResolver.isRememberMe(authentication);
}

public final boolean isFullyAuthenticated() {
return !trustResolver.isAnonymous(authentication)
&& !trustResolver.isRememberMe(authentication);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐