关于java:shiro篇开启常见的注解

  shiro常见的注解:    (注:倡议将shiro注解放入controller,因为如果service层应用了spring的事物注解,那么shiro注解将有效,如果spring管控了 filter还是 Interceptor,怎controller层有效 ,此时能够放在service层试试)

    @RequiresAuthentication:

应用该注解标注的类,实例,办法在拜访或调用时,以后Subject必须在以后session中曾经过认证。

@RequiresGuest:

应用该注解标注的类,实例,办法在拜访或调用时,以后Subject能够是“gust”身份,不须要通过认证或者在原先的session中存在记录。

@RequiresPermissions:

以后Subject须要领有某些特定的权限时,能力执行被该注解标注的办法。如果以后Subject不具备这样的权限,则办法不会被执行。

@RequiresRoles:

以后Subject必须领有所有指定的角色时,能力拜访被该注解标注的办法。如果当天Subject不同时领有所有指定角色,则办法不会执行还会抛出AuthorizationException异样。

 @RequiresUser:

        以后Subject必须是利用的用户,能力拜访或调用被该注解标注的类,实例,办法。

在application.xml或者shiro.xml外面进行配置,纯注解的形式请疏忽上面的代码一 和 代码二

代码一、

      <!-- 开启shiro的注解反对 --> 
<bean id="defaultAdvisorAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> 
    <!-- 必须改为true,即应用cglib形式为Action创立代理对象。默认值为false,应用JDK创立代理对象,会造成问题 --> 
    <property name="proxyTargetClass" value="true"></property> 
</bean> 
<!-- 应用shiro框架提供的切面类,用于创立代理对象 --> 
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"></bean> 
 ~~~
 
代码二、

<!– 开启shiro的注解反对 –> 
<bean class=”org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator” depends-on=”lifecycleBeanPostProcessor”/>  
 <bean class=”org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor”>  

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理