`
peterwanghao
  • 浏览: 123114 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache Shiro 注解方式授权

 
阅读更多

除了通过API方式外,Shiro提供Java5+注解的集合,以注解为基础的授权控制。在你可以使用Java注释之前,你需要在你的应用程序中启用AOP支持。

Shiro注解支持AspectJSpringGoogle-Guice等,可根据应用进行不同的配置。

相关的注解如下:

TheRequiresAuthenticationannotation(RequiresAuthentication注解)

要求当前Subject已经在当前的session中被验证通过才能被访问或调用。例如:

@RequiresAuthentication

publicvoidupdateAccount(AccountuserAccount){

//thismethodwillonlybeinvokedbya

//Subjectthatisguaranteedauthenticated

}

TheRequiresGuestannotation(RequiresGuest注解)

要求当前的Subject是一个"guest",也就是说,他们必须是在之前的session中没有被验证或被记住才能被访问或调用。例如:

@RequiresGuest

publicvoidsignUp(UsernewUser){

//thismethodwillonlybeinvokedbya

//Subjectthatisunknown/anonymous

}

TheRequiresPermissionsannotation(RequiresPermissions注解)

要求当前的Subject被允许一个或多个权限,以便执行注解的方法。例如:

@RequiresPermissions("account:create")

publicvoidcreateAccount(Accountaccount){

//thismethodwillonlybeinvokedbyaSubject

//thatispermittedtocreateanaccount

}

TheRequiresRolesannotation(RequiresRoles注解)

要求当前的Subject拥有所有指定的角色。如果他们没有,则该方法将不会被执行,而且AuthorizationException异常将会被抛出。例如:

@RequiresRoles("administrator")

publicvoiddeleteUser(Useruser){

//thismethodwillonlybeinvokedbyanadministrator

}

TheRequiresUserannotation(RequiresUser注解)

RequiresUser注解需要当前的Subject是一个应用程序用户才能被注解的类/实例/方法访问或调用。一个“应用程序用户”被定义为一个拥有已知身份,或在当前session中由于通过验证被确认,或者在之前session中的'RememberMe'服务被记住。例如:

@RequiresUser

publicvoidupdateAccount(Accountaccount){

//thismethodwillonlybeinvokedbya'user'

//i.e.aSubjectwithaknownidentity

}


分享到:
评论
1 楼 jack9527 2016-05-09  
aaaaaf

相关推荐

    shiro-crypto-hash-1.4.0-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...

    shiro注解版

    --通过添加了以下内容来使用注解方式配置权限.... <!-- Support Shiro Annotation 必须放在springMVC配置文件中 --> <!-- 异常处理,权限注解会抛出异常,根据异常返回相应页面 --> class="org.spring...

    shiro-cache-1.4.0-API文档-中英对照版.zip

    Maven坐标:org.apache.shiro:shiro-cache:1.4.0; 标签:apache、shiro、cache、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    基于Spring Boot+Spring Data Jpa+apache shiro+easyui+bootstrap的推酷网站

    本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...

    基于SSM+apache shiro+easyui+bootstrap开发的电影推酷网站源码

    本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...

    SpringBoot+SpringDataJpa+apache shiro+easyui+bootstrap开发的电影推酷网站

    本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...

    shiro-crypto-hash-1.4.0-API文档-中英对照版.zip

    Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    Shiro 视频教程+源码+课件

    内容涵盖 Shiro 认证、加密、授权、安全标签、安全注解、会话管理、缓存、Rememberme 等 JavaEE 企业级开发的核心技术。视频讲授过程中通过分析源代码使学员知其然更知其所以然。 【课程内容】 第一章 问候 Shiro ...

    spring boot+mybatis+thymeleaf+apache shiro开发面向学习型的后台管理系统

    基于注解的sql写法,零XML,极简配置,一键前后台代码生成功能简介 1. 用户管理 2. 角色管理 3. 部门管理 4. 菜单管理 5. 系统日志 6. 代码生成 7.内容管理 所用框架 前端 1. Bootstrap 2. jQuery 3. bootstrap-...

    shiro-core-1.4.0-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-core:1.4.0; 标签:apache、shiro、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    基于SpringBoot + Thymeleaf + Layui + Apache Shiro 的后台管理系统 .zip

    2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且提供了大量的注解,极大的提高了工作效率,比如@Configuration和@bean注解结合,基于@Configuration完成类扫描,基于@bean注解把返回值...

    shiro-spring-1.4.0-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-spring:1.4.0; 标签:apache、shiro、spring、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...

    shiro-event-1.4.0-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-event:1.4.0; 标签:apache、shiro、event、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...

    shiro-lang-1.4.0-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-lang:1.4.0; 标签:apache、shiro、lang、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    shiro-core-1.2.3-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-core:1.2.3; 标签:apache、shiro、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    shiro-ehcache-1.4.0-API文档-中文版.zip

    Maven坐标:org.apache.shiro:shiro-ehcache:1.4.0; 标签:apache、shiro、ehcache、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    shiro-hazelcast-1.4.0-API文档-中英对照版.zip

    Maven坐标:org.apache.shiro:shiro-hazelcast:1.4.0; 标签:apache、shiro、hazelcast、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...

    shiro-event-1.4.0-API文档-中英对照版.zip

    Maven坐标:org.apache.shiro:shiro-event:1.4.0; 标签:apache、shiro、event、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    shiro-guice-1.4.0-API文档-中英对照版.zip

    Maven坐标:org.apache.shiro:shiro-guice:1.4.0; 标签:apache、shiro、guice、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    shiro-cas-1.2.3-API文档-中英对照版.zip

    Maven坐标:org.apache.shiro:shiro-cas:1.2.3; 标签:apache、shiro、cas、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...

Global site tag (gtag.js) - Google Analytics