首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring安全认证管理器自动装配

Spring安全认证管理器自动装配
EN

Stack Overflow用户
提问于 2013-01-25 23:43:22
回答 1查看 3.7K关注 0票数 0

在绝望的几个小时后,我试图找出为什么我的自定义身份验证管理器不是自动运行的,所以我来这里寻求一些帮助。所以我有了Web应用程序,在Spring上运行(使用Stripes)。身份验证是由我的自定义类完成的。一切都很好--在jsp中,我可以使用jsp标记,而每件事,http拦截器都可以正常工作。但是,当我试图将身份验证管理器自动添加到泽西岛的"REST类“时,一切都会出错,什么都不会被注入。

因此,在web xml中,我获得了两个上下文文件:

代码语言:javascript
复制
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/spring-context.xml
        /WEB-INF/spring-security.xml
    </param-value>
</context-param>

Springsecurity.xml:

代码语言:javascript
复制
<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" />

在泽西岛的行动bean里面是这样的:

代码语言:javascript
复制
@Inject
@Qualifier("authManager")
protected AuthenticationManager authenticationManager;

整个应用程序构建ok,jetty服务器启动没有问题( org.springframework.security.authenticationManager和MyAuthenticationManager都是成功的预安装),但是当尝试使用自动配置的authmanager时,im获得空指针。

编辑:--我已经成功地将AuthenticationManager自动添加到Stripes的Action中,但泽西的动作bean仍然存在问题,其中结构@Inject @限定符(.)AuthManager不起作用(但适用于其他自动添加的bean,同样没有“限定符,只需@Inject”)。

编辑2:在试图找出为什么Spring没有将authenticationManager注入泽西Beans之后,我解决了以下问题:

代码语言:javascript
复制
@Inject
@InjectParam("org.springframework.security.authenticationManager")
protected AuthenticationManager authenticationManager;

我不知道它是好解决方案还是不好解决方案,但它正在工作,spring现在注入了正确的身份验证管理器。

EN

回答 1

Stack Overflow用户

发布于 2013-01-25 23:49:26

IANASG (I A不是条纹大师)我假设Action是一个条纹结构?如果它不是由spring管理的(实例化等等)然后不会注入任何东西,因为它是一个POJO,Spring对它一无所知。

这看起来不太对

代码语言:javascript
复制
<context:component-scan base-package="org.springframework.security" />

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14532098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档