在Spring MVC中,有两种情况.一个是由启动的应用程序上下文或全局上下文ContextLoaderListener
.它需要contextConfigLocation
参数中提到的所有配置文件.
现在,如果您正在使用Spring MVC,则需要Dispatcher servlet,它会启动另一个容器,也称为Web应用程序容器.此容器将全局容器作为父容器.
将struts1与spring集成时,只有一个上下文.为什么spring mvc需要两个?使用spring mvc时是否可以只使用一个上下文?
谢谢!
我已将Spring Security配置为针对LDAP服务器进行身份验证.
<security:authentication-manager >
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
</security:authentication-manager>
Run Code Online (Sandbox Code Playgroud)
身份验证后,我想从本地数据库为同一用户加载角色.如何使用"ldap-authentication-provider"加载本地数据库角色?
如果我添加第二个身份验证提供程序如下:
<security:authentication-manager >
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
<security:authentication-provider ref="daoAuthenticationProvider" />
</security:authentication-manager>
Run Code Online (Sandbox Code Playgroud)
daoAuthenticationProvider
添加了,但是当第一个auth提供程序对用户进行身份验证时,Spring不使用第二个提供程序.只有当第一个auth提供程序无法对其进行身份验证时,才会在列表中接下来.
所以基本上看起来我们必须定制
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
Run Code Online (Sandbox Code Playgroud)
从本地数据库加载ROLE.
有什么建议?该如何实施?