shiro中的注解主要用添加在controller层的方法上,校验用户是否有权限调用controller层的方法。注解如下:
shiro中的注解
@RequiresAuthentication
表示当前Subject已经通过login 进行了身份验证; 即 Subject.isAuthenticated() 返回 true
@RequiresUser
表示当前 Subject 已经身份验证或者通过记住我登录的
@RequiresGuest
表示当前Subject没有身份验证或通过记住我登录过,即是游客身 份。
@RequiresRoles
@RequiresRoles (value={“admin”, “user”},logical=Logical.AND)
表示当前 Subject 需要角色 admin和user
@RequiresPermissions
@RequiresPermissions(value={“user:a”,“user:b”},logical=Logical.OR) 表示当前 Subject 需要权限user:add 或 user:query
shiro注解的使用
shiro中使用注解,必须在springmvc的核心配置文件中进行配置,开启shiro注解。
springmvc中shiro配置
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"></bean>
<!-- 这个bean的创建 依赖于 LifecycleBeanPostProcessor -->
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />
<!-- shiro 认证鉴权的bean创建 -->
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager" />
</bean>