博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shiro启用注解方式
阅读量:6581 次
发布时间:2019-06-24

本文共 1890 字,大约阅读时间需要 6 分钟。

shiro验证权限方式一种是基于url配置文件:

例如:

复制代码
          /home=authc /resources/**=anon
复制代码

 

另外一种是基于注解:

例如:

RequiresAuthentication注解

RequiresAuthentication注解要求在访问或调用被注解的类/实例/方法时,Subject在当前的session中已经被验证。

复制代码
@RequiresAuthenticationpublic void updateAccount(Account userAccount) {//this method will only be invoked by a//Subject that is guaranteed authenticated...}
复制代码

RequiresGuest注解

RequiresGuest注解要求当前Subject是一个“访客”,也就是,在访问或调用被注解的类/实例/方法时,他们没有被认证或者在被前一个Session记住。

复制代码
@RequiresGuestpublic void signUp(User newUser) {//this method will only be invoked by a//Subject that is unknown/anonymous...}
复制代码

RequiresPermissions 注解

RequiresPermissions 注解要求当前Subject在执行被注解的方法时具备一个或多个对应的权限。

复制代码
@RequiresPermissions("account:create")public void createAccount(Account account) {//this method will only be invoked by a Subject//that is permitted to create an account...}
复制代码

RequiresRoles 注解

RequiresPermissions 注解要求当前Subject在执行被注解的方法时具备所有的角色,否则将抛出AuthorizationException异常。

复制代码
@RequiresRoles("administrator")public void deleteUser(User user) {//this method will only be invoked by an administrator...}
复制代码

如果在Controller中如果直接使用上面标签是不起作用的,需要开启shiro注解

复制代码
bean id="myRealm" class="com.controller.MyRealm"/>
redirect:/login
redirect:/admin/common/exceptionLog
复制代码

其中com.controller.MyRealm类是我自定义的继承自AuthorizingRealm的类

来源:

转载地址:http://fenno.baihongyu.com/

你可能感兴趣的文章
MacOS安装MySQL 报错
查看>>
Java知识点总结(反射-反射操作泛型)
查看>>
Vue+webpack+Element 兼容问题总结
查看>>
《软技能》读书笔记(下)
查看>>
textarea文域高度自适应
查看>>
go语言renderer包代码分析
查看>>
【Scala谜题】成员声明的位置
查看>>
git最最最最...常用命令
查看>>
复杂recyclerView封装库
查看>>
使用Redis构建文章投票网站(Java)
查看>>
见微知著 —— Redis 字符串内部结构源码分析
查看>>
Command './js-ant' failed to execute
查看>>
阿里云NFS NAS数据保护实战
查看>>
Spring cloud配置客户端
查看>>
产品研发项目管理软件哪个好?
查看>>
【阿里云北京峰会】一图看懂机器学习PAI如何帮助企业应用智能化升级
查看>>
ansible playbook使用总结
查看>>
Android API中文文档(111) —— MailTo
查看>>
Linux 中如何卸载已安装的软件
查看>>
thinkphp 3.2 增加每页显示条数
查看>>