shiro 注解没起作用

change_solider 发布于 2014/10/21 20:58
阅读 3K+
收藏 0

我在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>

加载中
0
wangma
wangma
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,

这些个包,版本可以自己换

change_solider
change_solider
@wangma 嗯,后来我用代码实现了,不用注解了,差不多。
wangma
wangma
回复 @change_solider : 你的spring的xml配置文件在哪里就可以放那里面.
change_solider
change_solider
上面我补充了一下shiro配置, <aop:aspectj-autoproxy proxy-target-class="true"/> 这一句应该加在什么地方 呢?
0
赵占涛
赵占涛
用游客能不能访问呢
change_solider
change_solider
游客必然不能了。
返回顶部
顶部