【问题标题】:AuthenticationManager returns NullPointerException [duplicate]AuthenticationManager 返回 NullPointerException [重复]
【发布时间】:2015-10-17 16:30:46
【问题描述】:

我想为我的 Web 应用程序创建一个登录页面。在我在 Internet 上找到的用于集成 Spring Security 和 LDAP 的示例项目中,我得到了它的工作。当我尝试将工作示例集成到实际应用程序时,我总是遇到 NullPointerException。

【问题讨论】:

  • 请不要在标题中使用'tags',并发布相关库的xhtml和版本信息。

标签: spring jsf primefaces nullpointerexception


【解决方案1】:

你在同一个类上有 spring 注释和 jsf 注释,所以如果你用不同的名字来引用它们(就像你很可能看到你自己的“答案”一样),你会得到不同的实例。那不好,也是您原来问题的原因。很可能(并且您没有发布您的 xhtml)您将 xhtml 中的 bean 称为loginViewBean。现在你删除了那个并且(我怀疑)你开始将它称为loginView,你得到了注入了 authenticationManager 的 Spring 托管实例,而不是没有注入 authenticationManger 的 JSF 托管实例。这导致了 NPE。您当时获得了 Spring 很可能是由您配置的 SpringEL 解析器优先于默认 JSF 解析器引起的。因此,删除 @ManagedBean 和 @RequestScoped 并通过 spring 名称引用 bean 会以更好的方式解决问题。

另请参阅

【讨论】:

  • 感谢您的回复和信息。我知道为什么它现在起作用了。非常感谢。
【解决方案2】:

解决了我的问题。

我只需要编辑这一行

@ManagedBean(name = "loginViewBean")

到

@ManagedBean

然后在 login.xhtml 文件上进行其余的配置。它已经完成了。

【讨论】:

  • 你知道为什么这能帮你解决吗?
猜你喜欢
  • 1970-01-01
  • 2020-10-11
  • 2016-12-06
  • 2018-06-21
  • 2023-03-12
  • 2020-06-18
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多