gpt4 book ai didi

java - 访问当前用户,在 spring Controller 中,getAuthentication() 返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:23 24 4
gpt4 key购买 nike

我已尝试实现此 question. 中提供的解决方案

但是,它们都不适合我。在我的抽象基 Controller 中,我有以下方法(我也尝试在 helper 类中使用静态方法,但同样的问题):

public User getUser() {
User user =
(User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
}

getAuthentication() 返回 null,即使在我的 jsps 中,以下内容运行良好:

<sec:authentication property="principal.firstname" /> 

因为我的自定义用户对象是可访问的。

为什么 getAuthentication 返回 null ?

此外,我尝试将 Principal 作为参数传递给我的特定 Controller 方法,这也是 null 解析为 null ...

为什么我的委托(delegate)人为空,但 jsp 却在工作?

最佳答案

确保你没有 filters = "none"<intercept-url>对于您的 Controller 的 URL,它会禁用 Spring Security 过滤器,因此不会填充安全上下文。

如果您需要让每个人都可以访问您的 Controller ,请使用 other approaches .

关于java - 访问当前用户,在 spring Controller 中,getAuthentication() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811200/

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