问答详情
源自:4-3 通过注解配置授权

@RequiresRoles无效

为什么@RequiresRoles无效,我是跟着视频敲的,springmvc.xml注解我也写了的

提问者:影子爱月 2018-06-16 11:55

个回答

  • 慕工程9257432
    2018-06-29 17:25:48

    可以去掉<aop:config> 添加<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
        <property name="proxyTargetClass" value="true" />
    </bean> 试试

  • 影子爱月
    2018-06-20 10:31:23

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
          http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">
    
        <context:component-scan base-package="com.wb.controller">
        </context:component-scan>
    
    
        <!-- 1、这里对 / 与 /* 作扼要说明:
             / 是  根目录
             /* 是拦截所有请求,包括.html等静态文件
             (以区别于url-pattern中的 /)
             2、这里既然拦截所有请求,但是却不会影响Controller
             主要是因为,所有请求先经过dispatcherServlet
             才会进入到  spring-mvc.xml 文件中-->
        <mvc:resources location="/" mapping="/*"/>
        <aop:config proxy-target-class="true"></aop:config>
        <bean class="org.apache.shiro.spring.LifecycleBeanPostProcessor"></bean>
    
        <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
            <property name="securityManager" ref="securityManager"/>
        </bean>
    
        <mvc:annotation-driven/>
    </beans>


  • marksteve
    2018-06-18 22:18:13

    第一,你可以看看和数据库里的权限设置是否一致,是不是值写错了。

    第二,你用@RequiresRoles注解的话理论上来说不需要在配置拦截的url,如果配置了也应该保持和注解一致,你最好把xml文件里的贴出来