我在spring mvc的controller方法上,加了需要admin角色这个注解,但是好像没起作用,我用student角色也能访问这个函数。这是为什么呢?
@RequiresRoles("admin") @RequestMapping(value = "/ecampuscenter")
public String ecampuscenter() {
logger.info("-------------------ecampus center request - --------------------------");
return "loginSuccess";
}
shiro部分配置如下
<!-- Shiro的Web过滤器 --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager"/> <!--首页,进入到/security/showloginfor控制器方法内。--> <property name="loginUrl" value="/security/login"/> <!--<property name="successUrl" value="/home.jsp"/>--> <!--<property name="unauthorizedUrl" value="/unauthorized.jsp"/>--> <property name="filters"> <util:map> <entry key="authc" value-ref="formAuthenticationFilter"/> </util:map> </property>
<property name="filterChainDefinitions"> <value> /security/login=anon /**=authc </value> </property> </bean>
<!-- Shiro生命周期处理器--> <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
<!-- Spring AOP auto-proxy creation (required to support Shiro annotations) --> <!-- 启用shiro 注解 --> <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/>
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"> <property name="securityManager" ref="securityManager"/> </bean>
xm怎么配置的啊?有没有配置 <aop:aspectj-autoproxy proxy-target-class="true"/>
同时还要加
aspectjrt-1.6.11.jar, aspectjweaver-1.6.12.jar, cglib-2.2.2.jar, asm-3.3.1.jar,
这些个包,版本可以自己换 ######@wangma 嗯,后来我用代码实现了,不用注解了,差不多。######回复 @change_solider : 你的spring的xml配置文件在哪里就可以放那里面.######上面我补充了一下shiro配置, <aop:aspectj-autoproxy proxy-target-class="true"/> 这一句应该加在什么地方 呢?######用游客能不能访问呢######游客必然不能了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。