实现php单点登录的方法

介绍

这篇文章主要介绍了实现php单点登录的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

单点登录(单一符号> <强>实现单点登录的方法

服务器端

"共享饼干”即共享会话的方式,本质上饼干只是存储会话id的介质,会话id也可以放在每次请求的url里面。会话机制是一个服务器一个会话

SSO令牌方式是因为共享会话的方式不安全,所以我们不再以会话id作为身份的标识,我们另外生成一种标识,把它取名为SSO令牌,这种标识在整个服务器群唯一的,所以所有的服务器群都能验证整个令牌,同时拿到令牌就代表拿到用户的信息

<强>浏览器端

单点登录还有非常关键的一步,这一步跟服务器端验证令牌的方式无关,用最早的“共享会话”的方式还是现在的“令牌”方式,身份标识到了浏览器端都要面临这样的一个问题:用户登录成功拿到令牌(或者是会话id)后怎么让浏览器存储和分享到其它域名下?

同域名很简单,把令牌存在饼干里,把饼干的路径设置成顶级域名下,这样所有子域都能读取饼干中的令牌。这就是共享饼干的方式(这才叫共享饼干嘛,上面那个应该叫共享会话)。

<>强技术实现的机制

当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录,根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据票;

用户再访问别的应用的时候,就会将这带个票上,作为自己认证的凭据,应用系统接受到请求之后会把票送到认证系统进行校验,检查机票的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

<强>要实现SSO,需要以下主要的功能:

所有应用系统共享一个身份认证系统。

统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(票),返还给用户。另外,认证系统还应该对票进行效验,判断其有效性。

所有应用系统能够识别和提取票信息。

要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对票进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。

感谢你能够认真阅读完这篇文章,希望小编分享实现php单点登录的方法内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

实现php单点登录的方法