shiro中的注解

219 阅读1分钟

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>