@SuppressWarnings("unchecked")
public void decide(Authentication authentication, Object object,Collection<ConfigAttribute> configAttributes)throws AccessDeniedException, InsufficientAuthenticationException {
if((authentication.getPrincipal() instanceof IUser)){
IUser loginUser=(IUser)authentication.getPrincipal();
if(loginUser.isAdministrator())return;
}
int result=10;
for (AccessDecisionVoter<Object> voter : getDecisionVoters()) {
result = voter.vote(authentication, object, configAttributes);
if(result==AccessDecisionVoter.ACCESS_ABSTAIN){
continue;
}
if(result==AccessDecisionVoter.ACCESS_DENIED){
throw new AccessDeniedException("Access is denied");
}
if(result==AccessDecisionVoter.ACCESS_GRANTED){
break;
}
}
if(result==AccessDecisionVoter.ACCESS_ABSTAIN && configAttributes.size()>0){
throw new AccessDeniedException("Access is denied");
}
}
UrlAccessDecisionManager.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:bdf2
作者:
评论列表
文章目录