`
zzc1684
  • 浏览: 1228048 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Apache Shiro 注解方式授权

阅读更多

http://blog.csdn.net/peterwanghao/article/details/8165014

 

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

Shiro注解支持AspectJSpringGoogle-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 集成-spring

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。Shiro 不仅可以用于Java Web 应用,也可以用于独立的Java应用。在集成Spring时,Shiro ...

    Apache shiro权限控制基础配置代码

    Apache Shiro是一款强大的Java安全框架,它为应用程序提供了身份验证、授权、会话管理和加密等核心功能。在本文中,我们将深入探讨Apache Shiro的基础配置和代码实现,以帮助你理解如何有效地使用Shiro进行权限控制...

    Spring MVC+Mybatis+Ehcache+Apache Shiro+Bootstrap整合开发java仓库管理系统源码

    Apache Shiro是一个强大且易用的安全管理框架,用于身份验证、授权、会话管理和加密。在仓库管理系统中,Shiro可以实现用户登录验证、角色权限分配、访问控制等功能,确保只有经过认证和授权的用户才能访问特定的...

    shiro 不执行授权方法 doGetAuthorizationInfo()

    Apache Shiro 是一个强大且易用的 Java 安全框架,提供身份认证、授权、加密和会话管理功能,可以非常容易地开发出足够安全的应用。在遇到“Shiro 不执行授权方法 `doGetAuthorizationInfo()`”的问题时,通常表明在...

    Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui实现通用用户权限管理系统

    4. **Apache Shiro**: Apache Shiro是一个强大且易用的Java安全框架,负责身份验证、授权(访问控制)、加密以及会话管理。在这个系统中,Shiro用于处理用户的登录、权限分配、会话管理等安全相关的任务,确保只有...

    Apache Shiro 中文手册

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用程序。它不仅适用于传统的Web应用,也适用于现代的Java应用,如JavaFX、GWT、Spring Boot...

    SpringMVC+Apache Shiro+JPA(hibernate)整合

    本文将深入探讨如何将SpringMVC、Apache Shiro以及JPA(以Hibernate为实现)进行整合,以便在实际项目中实现高效且安全的用户认证与授权功能。 首先,我们来看`SpringMVC`,它是Spring框架的一部分,专门用于处理...

    Apache Shiro 1.2.x 参考手册1

    Shiro 的配置可以是基于 XML、Java 或者注解的,允许开发者根据项目需求选择最适合的配置方式。配置通常包括 SecurityManager 的设置、Realm 的配置,以及各种安全策略的定义。 5. **Authentication** (认证) ...

    Apache_Shiro开发文档PDF

    Apache Shiro是一款强大的Java安全框架,它为开发者提供了一种简单、直观的方式来处理认证、授权、会话管理和加密等安全问题。这篇开发文档是Shiro的详细指南,旨在帮助开发者深入理解和有效地使用这个框架。 一、...

    Apache Shiro 开发使用手册

    Apache Shiro 是一个轻量级且易于使用的 Java 安全框架,它专注于提供认证、授权、加密和会话管理功能,适用于多种类型的Java应用程序。Shiro 的设计目标是简化安全管理的实现,使得开发者能更专注于业务逻辑,而...

    将_Shiro_作为应用的权限基础_五:SpringMVC+Apache_Shiro+JPA(hibernate)整合配置

    ### 将Shiro作为应用的权限基础五:SpringMVC+Apache Shiro+JPA(hibernate)整合配置 本文旨在详细介绍如何将Apache Shiro整合到基于SpringMVC和JPA(hibernate)的应用程序中,为系统提供安全控制机制。通过本...

    Spring Boot+Apache Shiro+Spring MVC+MyBatis+Quartz+Druid DEMO

    这是一个基于Spring Boot、Apache Shiro、Spring MVC、MyBatis、Quartz和Druid的数据源管理框架的示例项目,名为"renren-security"。这个DEMO提供了完整的权限管理和任务调度解决方案,下面是这些技术栈的核心知识点...

    apache shiro整合struts2+spring+mybatis简单demo

    Apache Shiro是一个强大的Java安全框架,它提供了身份验证、授权、会话管理和加密等功能,使得在Java应用中处理安全性变得更加简单。在这个“apache shiro整合struts2+spring+mybatis简单demo”中,我们将探讨如何将...

    Apache Shiro 使用手册(三) Shiro授权

    总的来说,Apache Shiro 的授权机制提供了灵活和强大的访问控制,可以根据实际需求选择合适的角色和权限模式,以及适合的授权实现方式,以确保应用程序的安全性和用户体验。通过理解这些概念和用法,开发者可以构建...

    shiro认证授权的过程

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常方便地为应用程序提供全面的安全控制。在本文中,我们将深入理解Shiro的认证授权过程,以及如何利用它来保护我们的...

    springboot+Shiro 实现动态授权

    SpringBoot结合Apache Shiro实现动态授权是一个常见的权限管理策略,旨在提供灵活且高效的访问控制。在Web应用开发中,安全框架如Spring Security和Shiro帮助我们处理用户认证和授权问题,而SpringBoot的轻量级特性...

    shiro 注解不起作用

    Apache Shiro 是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,可以非常轻松地开发出足够安全的应用。在你的问题中,“shiro 注解不起作用”可能指的是你在使用Shiro的注解进行权限控制时...

    跟我学Shiro第12章Demo(仅JAVA SE+Web+Shiro权限注解)

    Apache Shiro是一款强大的安全框架,广泛应用于Java项目中,提供了身份验证、授权、会话管理和加密等功能。本Demo主要涵盖了Shiro在Java Standard Edition(SE)和Web环境中的应用,特别是利用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”文件,即可纵览文档内容。 人性...

Global site tag (gtag.js) - Google Analytics