Shiro介绍(七):扩展自已的@RequiresPermission(修正)

本文是第六篇的修正版。因为在上一篇结尾,我其实对扩展方案是不太满意的,所以,今天,我重新做一个扩展,本次将注解的类名改成 @RequiresAction。
摘要由CSDN通过智能技术生成

本文是第六篇的修正版。因为在上一篇结尾,我其实对扩展方案是不太满意的,所以,今天,我重新做一个扩展,本次将注解的类名改成 @RequiresAction。

@RequiresAction("cn.sharetop.example.HelloController:addUser")

首先,也是定义这个注解 RequiresAction,除了名字换一下以外,其实与上篇是一样的。

然后,我们需要修改Advisor,这次我们拿Shiro自己的AuthorizationAttributeSourceAdvisor来稍事修改,增加对新注解的支持,相对于上次我们继承这个类,覆盖matches方法,获取类名及方法名拼装权限字串,一堆事儿。这次我们的修改量明显少了许多。代码如下:

public class AuthorizationAttributeSourceAdvisor extends StaticMethodMatcherPointcutAdvisor {
   
    private static final Class<? extends Annotation>[] AUTHZ_ANNOTATION_CLASSES =
            new Class[] {
   
                    RequiresPermissions.class, RequiresRoles.class,
                    RequiresUser.class, RequiresGuest.class, RequiresAuthentication.class,
                    RequiresAction.class
            };

//其
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值