首页 > 代码库 > shiro 权限验证 AuthorizingRealm doGetAuthorizationInfo

shiro 权限验证 AuthorizingRealm doGetAuthorizationInfo

    先放代码: https://git.oschina.net/alexgaoyh/alexgaoyh.git


    今天在敲代码的过程中,突然发现之前整合的shiro权限框架有问题,doGetAuthorizationInfo() 方法一直没有被调用,后来发现,

    1:  doGetAuthorizationInfo()方法可以理解为是权限验证,

    2: doGetAuthenticationInfo(  AuthenticationToken token)  理解为登陆验证。


    两者是不一样的:

    登陆验证:

Subject subject = SecurityUtils.getSubject();
subject.login(token);
token.clear();
SysmanUser user = (SysmanUser) subject.getPrincipal();

    权限验证:

    

//权限校验。判断是否包含权限。
Subject subject = SecurityUtils.getSubject();
//具体响应ShiroDbRealm。doGetAuthorizationInfo,判断是否包含此url的响应权限
boolean isPermitted = subject.isPermitted(url);
if(isPermitted == true) {
    result = new Result(true, "包含权限");
}else{
    result = new Result(false, "不包含权限");
}

    这样的话,可以针对不同的请求进行权限验证,代码链接如上,具体页面效果如下。


    无权限效果图:

    有权限效果图:


代码已发布至 : https://git.oschina.net/alexgaoyh/alexgaoyh.git

shiro 权限验证 AuthorizingRealm doGetAuthorizationInfo