gpt4 book ai didi

java - spring 不强制执行方法安全注释

转载 作者:太空狗 更新时间:2023-10-29 22:55:13 26 4
gpt4 key购买 nike

对于为什么 spring 没有在我的服务接口(interface)上强制执行 @Secured("ROLE_USER"),我有些迷惑。我的 Controller 是使用注释建立的。

我的服务接口(interface)示例

public interface MyServiceManager {

@Secured("ROLE_USER")
public void delete(int cid);

@RolesAllowed({"ROLE_USER"})
public Contact getContact(int contactId);
}

我的安全上下文:

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

<http auto-config="true" >
<intercept-url pattern="/secure/**" access="ROLE_SUPERVISOR" />
<intercept-url pattern="/addcontact**" access="IS_AUTHENTICATED_REMEMBERED" />
<intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />

<concurrent-session-control max-sessions="1"
exception-if-maximum-exceeded="true"/>
<form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?login_error=1"/>
<logout logout-success-url="/welcome.do" logout-url="/logout"/>
</http>
<authentication-provider>
<password-encoder hash="md5"/>
<user-service>
<user name="rod" password="a564de63c2d0da68cf47586ee05984d7" authorities="ROLE_SUPERVISOR, ROLE_USER, ROLE_TELLER" />
</user-service>
</authentication-provider>

最佳答案

你有声明吗

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

在与您定义 MyServiceManager bean 的配置文件相同的配置文件中?我遇到了同样的问题,直到我为 org.springframework 打开调试,并注意到 spring security 仅应用于与定义了 global-method-security 的文件相同的文件。

关于java - spring 不强制执行方法安全注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/517527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com