http://blog.csdn.net/peterwanghao/article/details/8165014
除了通过API方式外,Shiro 提供Java 5+注解的集合,以注解为基础的授权控制。在你可以使用Java 注释之前,你需要在你的应用程序中启用AOP 支持。
Shiro注解支持AspectJ、Spring、Google-Guice等,可根据应用进行不同的配置。
相关的注解如下:
The RequiresAuthentication annotation(RequiresAuthentication 注解)
要求当前Subject 已经在当前的session 中被验证通过才能被访问或调用。例如:
@RequiresAuthentication public void updateAccount(Account userAccount) { //this method will only be invoked by a //Subject that is guaranteed authenticated … }
The RequiresGuest annotation(RequiresGuest 注解)
要求当前的Subject 是一个"guest",也就是说,他们必须是在之前的session 中没有被验证或被记住才能被访问或调用。例如:
@RequiresGuest public void signUp(User newUser) { //this method will only be invoked by a //Subject that is unknown/anonymous … }
The RequiresPermissions annotation(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 … }
The RequiresRoles annotation(RequiresRoles 注解)
要求当前的Subject 拥有所有指定的角色。如果他们没有,则该方法将不会被执行,而且AuthorizationException 异常将会被抛出。例如:
@RequiresRoles("administrator") public void deleteUser(User user) { //this method will only be invoked by an administrator … }
The RequiresUser annotation(RequiresUser 注解)
RequiresUser 注解需要当前的Subject 是一个应用程序用户才能被注解的类/实例/方法访问或调用。一个“应用程序用户”被定义为一个拥有已知身份,或在当前session 中由于通过验证被确认,或者在之前session 中的'RememberMe'服务被记住。例如:
@RequiresUser public void updateAccount(Account account) { //this method will only be invoked by a 'user' //i.e. a Subject with a known identity … }
相关推荐
Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。Shiro 不仅可以用于Java Web 应用,也可以用于独立的Java应用。在集成Spring时,Shiro ...
Apache Shiro是一款强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等核心功能。在本文中,我们将深入探讨Apache Shiro的基础配置和代码实现,以帮助你理解如何有效地使用Shiro进行权限控制...
Apache Shiro是一个强大且易用的安全管理框架,用于身份验证、授权、会话管理和加密。在仓库管理系统中,Shiro可以实现用户登录验证、角色权限分配、访问控制等功能,确保只有经过认证和授权的用户才能访问特定的...
Apache Shiro 是一个强大且易用的 Java 安全框架,提供身份认证、授权、加密和会话管理功能,可以非常容易地开发出足够安全的应用。在遇到“Shiro 不执行授权方法 `doGetAuthorizationInfo()`”的问题时,通常表明在...
4. **Apache Shiro**: Apache Shiro是一个强大且易用的Java安全框架,负责身份验证、授权(访问控制)、加密以及会话管理。在这个系统中,Shiro用于处理用户的登录、权限分配、会话管理等安全相关的任务,确保只有...
Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用程序。它不仅适用于传统的Web应用,也适用于现代的Java应用,如JavaFX、GWT、Spring Boot...
本文将深入探讨如何将SpringMVC、Apache Shiro以及JPA(以Hibernate为实现)进行整合,以便在实际项目中实现高效且安全的用户认证与授权功能。 首先,我们来看`SpringMVC`,它是Spring框架的一部分,专门用于处理...
Shiro 的配置可以是基于 XML、Java 或者注解的,允许开发者根据项目需求选择最适合的配置方式。配置通常包括 SecurityManager 的设置、Realm 的配置,以及各种安全策略的定义。 5. **Authentication** (认证) ...
Apache Shiro是一款强大的Java安全框架,它为开发者提供了一种简单、直观的方式来处理认证、授权、会话管理和加密等安全问题。这篇开发文档是Shiro的详细指南,旨在帮助开发者深入理解和有效地使用这个框架。 一、...
Apache Shiro 是一个轻量级且易于使用的 Java 安全框架,它专注于提供认证、授权、加密和会话管理功能,适用于多种类型的Java应用程序。Shiro 的设计目标是简化安全管理的实现,使得开发者能更专注于业务逻辑,而...
### 将Shiro作为应用的权限基础五:SpringMVC+Apache Shiro+JPA(hibernate)整合配置 本文旨在详细介绍如何将Apache Shiro整合到基于SpringMVC和JPA(hibernate)的应用程序中,为系统提供安全控制机制。通过本...
这是一个基于Spring Boot、Apache Shiro、Spring MVC、MyBatis、Quartz和Druid的数据源管理框架的示例项目,名为"renren-security"。这个DEMO提供了完整的权限管理和任务调度解决方案,下面是这些技术栈的核心知识点...
Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,使得在Java应用中处理安全性变得更加简单。在这个“apache shiro整合struts2+spring+mybatis简单demo”中,我们将探讨如何将...
总的来说,Apache Shiro 的授权机制提供了灵活和强大的访问控制,可以根据实际需求选择合适的角色和权限模式,以及适合的授权实现方式,以确保应用程序的安全性和用户体验。通过理解这些概念和用法,开发者可以构建...
Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常方便地为应用程序提供全面的安全控制。在本文中,我们将深入理解Shiro的认证授权过程,以及如何利用它来保护我们的...
SpringBoot结合Apache Shiro实现动态授权是一个常见的权限管理策略,旨在提供灵活且高效的访问控制。在Web应用开发中,安全框架如Spring Security和Shiro帮助我们处理用户认证和授权问题,而SpringBoot的轻量级特性...
Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。在你的问题中,“shiro 注解不起作用”可能指的是你在使用Shiro的注解进行权限控制时...
Apache Shiro是一款强大的安全框架,广泛应用于Java项目中,提供了身份验证、授权、会话管理和加密等功能。本Demo主要涵盖了Shiro在Java Standard Edition(SE)和Web环境中的应用,特别是利用Shiro的权限注解进行...
Maven坐标:org.apache.shiro:shiro-crypto-hash:1.4.0; 标签:apache、shiro、crypto、hash、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性...