spring security多入口登录

来源:互联网 发布:软件订购合同 编辑:程序博客网 时间:2024/06/08 01:02

项目中集成了ldap的验证,从其他应用跳转过来希望不进行二次登录。

因为ldap的用户名和密码已经在登录中灭失,所以无法在应用中做再次提交验证。

幸好其他应用和项目是可以共享数据库,所以用数据库共享用户信息进行免手工登录验证。

具体是其他应用对数据库表portal_admin插入一条用户登录请求,用户名不变,密码用一串随机字符。

项目配置多入口

<security:authentication-manager>
<security:authentication-provider>
<security:jdbc-user-service 
users-by-username-query="select portal_id as username, portal_admin as password, 1 as enabled from pmart.portal_admin where portal_id = ?" 
authorities-by-username-query="select user_id as username, role_id as authority from pmart.portal_user2role where user_id = ?"
data-source-ref="dataSource"/>
</security:authentication-provider>
<security:authentication-provider ref="ldapActiveDirectoryAuthProvider" />
</security:authentication-manager>

在这个配置下,会首先用jdbc-user-service进行验证,如果没通过则使用ldap进行验证。

项目达到其他应用跳转不需要手工登录的目的。

spring security的好处是,仅仅通过xml的配置就可以完成各种验证的任务。

当然,特殊目的可以自己扩展编程。

0 0
原创粉丝点击