1 单点登录简介
单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。 单点登录的实质就是安全上下文(AISSO Context)或凭证(Credential)在多个应用系统之间的传递或共享。当用户登录系统时,客户端软件根据用户的凭证(例如用户名和密码)为用户建立一个安全上下文,安全上下文包含用于验证用户的安全信息,系统用这个安全上下文和安全策略来判断用户是否具有访问系统资源的权限。
在基于SAML的单点登录中,主要有两个参与实体:一个是身份提供商( IdP , identity provider ),另外一个是服务提供商( SP , service provider )。身份提供商( IdP )提供认证服务,服务供应商( SP )收集有关用户的信息,以保护资源。一个典型的例子, Web 浏览器访问一个目标站点受保护的资源,目标站点将浏览器重定向到源站点的身份提供商( IdP )进行身份验证,并最终返回在受保护资源处重新登录。
2 基于SAML的单点登录基础知识
SAML(Security Assertion Markup Language,安全性断言标记语言)是一种基于XML的框架,主要用于在各安全系统之间交换认证、授权和属性信息,它的主要目标之一就是SSO。在 SAML框架下,无论用户使用哪种信任机制,只要满