当前位置: 首页 > 知识库问答 >
问题:

Spring Security身份验证管理器autowiring

计承德
2023-03-14
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/spring-context.xml
        /WEB-INF/spring-security.xml
    </param-value>
</context-param>

spring-security.xml:

<context:component-scan base-package="org.springframework.security" />
<context:annotation-config/>

<http use-expressions="true" auto-config="true">

</http>

<authentication-manager alias="authManager">
    <authentication-provider ref="AuthenticationManagerBean" />
</authentication-manager> 

<beans:bean id="AuthenticationManagerBean" class="com.manager.services.MyAuthenticationManager"/>
<beans:bean id="expressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler" />

在新泽西行动豆的内部是这样的:

@Inject
@Qualifier("authManager")
protected AuthenticationManager authenticationManager;

整个应用程序构建良好,jetty服务器启动没有问题(MyAuthenticationManager和org.springframework.security.AuthenticationManager都成功地预安装了),但是当尝试使用autowired authmanager时,我得到了空指针。

@Inject
@InjectParam("org.springframework.security.authenticationManager")
protected AuthenticationManager authenticationManager;

共有1个答案

顾俊誉
2023-03-14

IANASG(我不是条纹大师。)我假设Action Bean是一个stripes构造?如果它不是由spring管理的(实例化,等等),那么将不会向它注入任何内容,因为它是一个POJO,而spring对它一无所知。

这看起来不对

<context:component-scan base-package="org.springframework.security" />

基本包应该是代码中包含应该扫描的bean的包。

 类似资料:
  • 问题内容: 这是我的情况: 一个Web应用程序对许多应用程序执行某种SSO 登录的用户,而不是单击链接,该应用就会向正确的应用发布包含用户信息(名称,pwd [无用],角色)的帖子 我正在其中一个应用程序上实现SpringSecurity以从其功能中受益(会话中的权限,其类提供的方法等) 因此,我需要开发一个 自定义过滤器 -我猜想-能够从请求中检索用户信息,通过自定义 DetailsUserSe

  • Yubikey PIV 管理器 Yubikey PIV 管理器是一个可以管理 PIV 相关内容的图形界面管理工具。它的命令行版本可以使用 Homebrew 来安装【译者注:macOS 平台】: ❯ brew install yubico-piv-tool 命令行版本的工具拥有更加强大的功能(例如 允许覆盖 PIN 和修改默认插槽的触摸策略),但它更容易导致用户误操作。(它很容易会覆盖现有密钥) 完

  • 我在调试身份验证问题时遇到了这个代码片段: 我在调试和摆弄用户凭证时注意到,如果第一个身份验证提供者(即< code > userdailsservice )无法对我的用户进行身份验证,那么就会远程调用我的LDAP服务器来尝试对我的用户进行身份验证。但是,如果第一个身份验证提供者成功地对我的用户进行了身份验证,则不会调用第二个身份验证提供者。 我的问题是,列出这些身份验证提供者的工作方式是否使得如

  • 我正在使用Vert。后端为x,前端为AngularJS。 Vert. x服务器使用POST和GET方法接收HTTP操作。不知何故,我为每个请求获取不同的会话ID。 以下是来自我的LoginFormHandler类句柄例程的代码片段。 我正在将用户对象放入当前会话中。然后我移动到新页面并向Vert. x服务器发送POST请求。在那个POST处理程序中,我正在尝试获取会话对象: 我没有得到用户。此外,

  • 让OAUTH2和管理endpoint工作的正确方法是什么?

  • 我有Springmvc应用程序。我添加了带有CustomAuthentiationManager的Spring Security。这是appC中包含的application-security.xmlontex.xml.login.jsp我使用带有2个输入的标准登录页面:name='j_username'