首页 > 其他 > 详细

shiro 扩展角色管理,添加anyRole

时间:2015-11-05 19:09:18      阅读:507      评论:0      收藏:0      [点我收藏+]
public class AnyRolesFilter extends AccessControlFilter {

    @Override
    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
        String[] roles = (String[]) mappedValue;
        if(roles != null){
            for(String role:roles){
                if(getSubject(request,response).hasRole(role)){
                    return true;
                }
            }
        }
        return false;
    }

    @Override
    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
        //如果登陆了还没权限则表示真的权限
        if(getSubject(request, response).isAuthenticated()){
            WebUtils.issueRedirect(request,response,"/unauthorized.jsp");
        }else{
            //可能是没登陆才没权限
            WebUtils.issueRedirect(request,response,"/login.jsp");
        }
        return false;
    }
}
ini配置:
[filters]
anyRoles=com.test.shiro.filter.AnyRolesFilter
[urls]
/user=authc,anyRoles[user,admin]


shiro 扩展角色管理,添加anyRole

原文:http://my.oschina.net/scjelly/blog/526625

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!