gpt4 book ai didi

java - @PreAuthorize 无法正常工作

转载 作者:行者123 更新时间:2023-11-29 08:01:35 24 4
gpt4 key购买 nike

我的 Controller :

@RequestMapping("/createchar")
@PreAuthorize("hasRole('ROLE_USER')")
public String createCharacter(Map<String, Object> map, Principal principal) {

spring-security.xml

<global-method-security pre-post-annotations="enabled"
proxy-target-class="true" />
...
<intercept-url pattern="/game*" access="ROLE_USER" />
<form-login login-page="/account/login" ...

页面始终加载,即使在重新部署应用程序之后也是如此。我什至还没有登录。为什么它不将其重定向到登录页面?

如果您需要更多信息,请随时询问。

最佳答案

Controller bean 通常驻留在 servlet 上下文中,因此它们既不受 AOP 声明的影响,也不受根应用程序上下文中的 bean 后处理器的影响。

Difference between applicationContext.xml and spring-servlet.xml in Spring Framework

我认为代理 Controller 类不是一个好主意,请参阅 Spring-MVC Problem using @Controller on controller implementing an interface - 所以我更愿意避免在 Controller 类上使用 AOP 以避免意外 - 并且只在服务/DAO beans 上使用它,即根应用程序上下文中的 beans。

在这种情况下,您应该对网页使用拦截 url 方法。

关于java - @PreAuthorize 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080893/

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