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注解将无效。

猜你喜欢

转载自blog.csdn.net/Code_shadow/article/details/82429657