一、前言
OpenID是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性.
登录一个支持 OpenID 的网站非常简单(即便你是第一次访问这个网站也是一样)。 只需要输入你注册好的 OpenID 用户名,然后你登录的网站会跳转到你的 OpenID 服务网站, 在你的 OpenID 服务网站输入密码(或者其它需要填写的信息)验证通过后, 你会回到登录的网站并且已经成功登录。 OpenID 系统可以应用于所有需要身份验证的地方, 既可以应用于单点登录系统,也可以用于共享敏感数据时的身份认证。
除了一处注册,到处通行以外,OpenID 给所有支持 OpenID 的网站带来了价值--共享用户资源。 用户可以清楚的控制哪些信息可以被共享,例如姓名、地址、电话号码等。
更多请参考http://openid.net.cn/
二、Spring Security对OpenID支持和配置
1. Spring Security专门有一个jar支持OpenID: spring-security-openid-3.2.0.RELEASE.jar
2. 配置
配置超级简单,只需要openid-login标签即可,与表单验证的form-login一样, 如:
1
2
3
4
|
<
http
>
<
intercept-url
pattern
=
"/**"
access
=
"ROLE_USER"
/>
<
openid-login
/>
</
http
>
|
在openid-login标签下支持attribute-exanchange标签来获取provider提供的用户信息属性,如:
1
2
|