Spring security Spring security没有接收我的身份验证管理器
我被spring安全配置问题搞砸了 这是我的配置Spring security Spring security没有接收我的身份验证管理器,spring-security,Spring Security,我被spring安全配置问题搞砸了 这是我的配置 <security:global-method-security pre-post-annotations="enabled" /> <security:http auto-config="true"> <security:intercept-url pattern="/dologin" access="ROLE_USER,ROLE_ANONYMOUS" /> <secu
<security:global-method-security pre-post-annotations="enabled" />
<security:http auto-config="true">
<security:intercept-url pattern="/dologin" access="ROLE_USER,ROLE_ANONYMOUS" />
<security:form-login login-processing-url="/security_check" login-page="/onlogin" always-use-default-target="false" authentication-failure-url="/onlogin" default-target-url="/home" />
<security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/onlogout" />
<security:remember-me />
<security:http-basic/>
</security:http>
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider ref="daoAuthenticationProvider"/>
</security:authentication-manager>
<bean id="anonymousAuthenticationProvider"
class="org.springframework.security.authentication.AnonymousAuthenticationProvider">
<property name="key" value="badgerbadgerbadger" />
</bean>
<bean id="daoAuthenticationProvider"
class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="userDetailsService" />
</bean>
我可能会出什么问题?请描述一下 我相信您需要通过使用security:customauthenticationprovider标记来识别您的定制提供者,以实现spring安全性 例如:
<bean id="daoAuthenticationProvider"
class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<security:custom-authentication-provider />
<property name="userDetailsService" ref="userDetailsService" />
</bean>
您可能还需要在您的匿名AuthenticationProvider bean上使用它。请尝试以下操作:
<security:authentication-manager>
<security:authentication-provider user-service-ref="userDetailsService"/>
</security:authentication-manager>
在daoAuthenticationProvider中,您有一个对userDetailsService的引用,但我在您的配置中没有看到这样的bean。
检查以前的错误消息,我希望在那里看到缺少的bean的引用。在定义安全身份验证管理器时使用/define'id' 例如:
<security:authentication-manager id="authenticationManager" alias="authenticationManager">
<security:authentication-provider ref="daoAuthenticationProvider"/>
</security:authentication-manager>
你好,Donal Boyle,我正在使用spring security 3.0版。它没有任何标记,就像我试图找出在配置文件中找到安全标记时会发生什么一样。但我的努力没有任何结果。现在我选择了完全基于bean定义的配置。我会告诉你关于这个话题的任何相关信息
<security:authentication-manager id="authenticationManager" alias="authenticationManager">
<security:authentication-provider ref="daoAuthenticationProvider"/>
</security:authentication-manager>