Shiro 权限注解:

 
Shiro 提供了相应的注解用于权限控制,如果使用这些注解就需要使用AOP 的功能来进行
判断,如Spring AOP;Shiro 提供了Spring AOP 集成用于权限注解的解析和验证。
 
  @RequiresAuthentication
  表示当前Subject已经通过login 进行了身份验证;即Subject. isAuthenticated()返回true。
 
  @RequiresUser
  表示当前Subject已经身份验证或者通过记住我登录的。
 
  @RequiresGuest
  表示当前Subject没有身份验证或通过记住我登录过,即是游客身份。
 
  @RequiresRoles(value={“admin”, “user”}, logical= Logical.AND)
  @RequiresRoles(value={“admin”})
  @RequiresRoles({“admin“})
  表示当前Subject需要角色admin 和user。
 
  @RequiresPermissions (value={“user:a”, “user:b”}, logical= Logical.OR)
  表示当前Subject需要权限user:a或user:b。
 
既可以用在controller中,也可以用在service中
建议将shiro注解放入controller,因为如果service层使用了spring的事物注解,那么shiro注解将无效

Shiro 权限注解的更多相关文章

  1. 2017.2.13 开涛shiro教程-第十二章-与Spring集成(二)shiro权限注解

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(二)shiro权限注解 shiro注 ...

  2. Shiro权限注解原理

    概述 前不久刚学会使用权限注解(),开始思索了一番.最开始猜测实现方式是注解@Aspect,具体实现方式类似如下所示(切面记录审计日志).后来发现并非如此,所以特地分析一下源码. @Component ...

  3. SpringBoot Shiro 权限注解不起作用

    最近在学习springboot结合shiro做权限管理时碰到一个问题. 问题如下: 我在userRealm中的doGetAuthorizationInfo方法中给用户添加了权限,然后在Controll ...

  4. Shiro 权限校验不通过时,区分GET和POST请求正确响应对应的方式

    引入:https://blog.csdn.net/catoop/article/details/69210140 本文基于Shiro权限注解方式来控制Controller方法是否能够访问. 例如使用到 ...

  5. SpringMVC下的Shiro权限框架的使用

    SpringMVC+Shiro权限管理 博文目录 权限的简单描述 实例表结构及内容及POJO Shiro-pom.xml Shiro-web.xml Shiro-MyShiro-权限认证,登录认证层 ...

  6. JFinal的Shiro权限管理插件--玛雅牛 / JFinalShiro

    http://git.oschina.net/myaniu/jfinalshiroplugin JFinalShiroPlugin JFinal的Shiro插件,实现权限管理. 升级说明 1)支持JF ...

  7. SpringMVC整合Shiro权限框架

    尊重原创:http://blog.csdn.net/donggua3694857/article/details/52157313 最近在学习Shiro,首先非常感谢开涛大神的<跟我学Shiro ...

  8. shiro权限框架(四)

    4.1授权方式 Shiro 支持三种方式的授权 编程式:通过写 if/else 授权代码块完成: Subject = SecurityUtils.getSubject(); if(subject.ha ...

  9. shiro 权限管理配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

随机推荐

  1. python Console menu

    I just finished a demo which is to provide an easy way to control hardware resources of A sample. Th ...

  2. java_main

    Java中用户向系统传递参数的三种基本方式 main方法 在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的 ...

  3. 修改.net core 运行端口

    ASPNETCORE_URLS environment variable is ignored by "dotnet run" dotnet new web set ASPNETC ...

  4. redmine和jenkins的ldap登录设置

    工具: softeera LDAP browser 流程: Authentication modes » test Name * Host * Port *  LDAPS Account Passwo ...

  5. thinkphp5 查询的数据是对象时,获取原始数据方法

    获取原始数据 如果你定义了获取器的情况下,希望获取数据表中的原始数据,可以使用: $user = User::get(1); // 通过获取器获取字段 echo $user->status; / ...

  6. Java JDBC基本用法

    准备oracle驱动包:maven添加oracle jdbc依赖 pom.xml <!-- oracle jdbc驱动 --> <dependency> <groupId ...

  7. 存储过程DT参数

    public static void TableValuedToDB(DataTable dt, string storedProcName, string TypeName) { using (Sq ...

  8. 系统服务和普通FORMS程序共存一体的实现

    要求:一个EXE,如何将它做成这样的效果:1.双击它时,像一个FORMS程序那样正常显示窗体运行.2.注册成系统服务,每次都可以从service.msc中启动它. 也就是说,没注册之前,它可以当作普通 ...

  9. a标签返回上一页,并刷新

    <a href="javascript:" onclick="self.location=document.referrer;">返回上一页并刷新& ...

  10. ##Truncated incorrect DOUBLE value: 'E#4' 的问题解决

    给sql语句 加了个引号,问题就这么轻易解决了,猜想,应该是mysql 做where对比的时候,把数字5 与数据库里的数据”OABF” 比较,应该是这时的问题.