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注解將無效