码迷,mamicode.com
首页 > 其他好文 > 详细

shiro 扩展角色管理,添加anyRole

时间:2015-11-05 19:11:44      阅读:578      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!