Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全性:方法不受@PreAuthorize注释的保护_Java_Spring_Spring Security_Roles_Authorize - Fatal编程技术网

Java Spring安全性:方法不受@PreAuthorize注释的保护

Java Spring安全性:方法不受@PreAuthorize注释的保护,java,spring,spring-security,roles,authorize,Java,Spring,Spring Security,Roles,Authorize,我想在我的托管会话bean中保护特定角色的方法“role\u ADMIN” 配置(applicationContext security.xml): 当我以user1或anonyman身份登录并单击网页上的“购买”按钮时,它仍然重定向到下一页 我预计会发生一些拒绝访问的异常,但不会发生。记住在applicationContext-security.xml上启用方法级安全性: <global-method-security pre-post-annotations="enabled" jsr

我想在我的托管会话bean中保护特定角色的方法
“role\u ADMIN”

配置(applicationContext security.xml):

当我以
user1
anonyman
身份登录并单击网页上的“购买”按钮时,它仍然重定向到下一页


我预计会发生一些拒绝访问的异常,但不会发生。

记住在applicationContext-security.xml上启用方法级安全性:

<global-method-security pre-post-annotations="enabled" jsr250-annotations="enabled" secured-annotations="enabled"/>
    <http auto-config="true" use-expressions="true">
        <intercept-url pattern="/**" access="isAuthenticated()"/>
        <intercept-url pattern="/**" access="permitAll()"/>
        <form-login
         login-processing-url="/j_spring_security_check"
         login-page="/login.jsf"
         default-target-url="/main.jsf"
         authentication-failure-url="/login.jsf" />

    <session-management>
           <concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
    </session-management>
    </http>


    <authentication-manager alias="authenticationManager">
        <authentication-provider>
            <user-service>
                <user name="admin" password="admin" authorities="ROLE_USER, ROLE_ADMIN" />
                <user name="user1" password="user1" authorities="ROLE_USER" />
            </user-service>
        </authentication-provider>
    </authentication-manager>

    <beans:bean id="loggerListener" class="org.springframework.security.authentication.event.LoggerListener"/>
<sec:global-method-security secured-annotations="enabled" />

如果您将使用前注释或后注释,请使用:

<security:global-method-security pre-post-annotations="enabled"/>

有关详细信息,请参阅:

注:对于jsr-250中的注释:

<sec:global-method-security jsr250-annotations="enabled" />


实际上也尝试过,但都是一样的。据我所知,安全批注代表@secured annotation,我根本不用它。我使用的是pre-post annotation@PreAuthorize@sergionni:对不起,我会编辑让你得到一个更完整的答案。@logui,好的),np。我正在分析我的配置,可能是拦截url的问题,我不知道你的链接发现了什么问题,我现在不使用mavenall@sergionni:您确定已在配置上启用预发布批注,并且未引发异常吗?您如何处理此类异常?
<sec:global-method-security jsr250-annotations="enabled" />