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

转载于:https://my.oschina.net/alexgaoyh/blog/330230

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值