单点登录 Ucenter示例分析

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了单点登录 Ucenter示例分析脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

首先我们先来了解下Ucenter登录步骤 1、用户登录discuz,通过LOGging.PHP文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证。
2、如果验证成功,将调用位于uc_client下client.PHP文件中的函数uc_user_synlogin,在这函数调用 uc_api_post('user','synlogin',array('uid'=>$uid))。
3、然后这个函数后向Ucenter的index.PHP传递数据,index.PHP接受传递的数据,获得model为user,action为synlogin的值。
4、然后Ucenter的index.PHP调用control目录下的user.PHP类中的onsynlogin方法,通过foreach循环,以javascript的方式通知uc应用列表中开启同步登陆的应用进行同步登录;即通过get方式传递给各个应用目录中api下的uc.PHP一些数据。
5、uc.PHP接收通知并处理get过来的数据,并在函数synlogin(位于uc.PHP中)通过函数_authcode加密数据(认以UC_KEY作为密钥),用函数_setcookie设置cookie。
6、各个应用用对应的密钥解码上面设置的cookie,得到用户id等数据;通过这个值来判断用户是否经过其它应用登录过,从而让用户可以自动登陆。 应用程序的logging.PHP ------>uc_client中的client.PHP------>Ucenter------>应用程序中api/uc.PHP 其实Ucenter实现同步登陆的原理就是cookie,一个应用登陆成功之后,向Ucenter传递数据,让Ucenter通知其他的应用也设置cookie,这样用户在访问其他应用的时候通过已经设置好的cookie实现自动登陆。了解了Ucenter的同步原理,再遇到无法同步登陆,或者开发一些与UCenter接口的时候就会容易很多。 大致步骤 首先我们要先安装 ucenter 然后把uc_client 这个文件夹复制到自己的项目里面去 然后呢在配置几个文件 client.PHP相当于函数库 uc.PHP相当于回调文件 还有一个 config.inc.PHP配置文件 当你有2个应用都设置了同步登陆之后 当你登陆一个应用 然后执行
<div class="codetITle"><a style="CURSOR: pointer" data="40969" class="copybut" id="copybut40969" onclick="doCopy('code40969')">@H_406_8@ 代码如下:

脚本宝典总结

以上是脚本宝典为你收集整理的单点登录 Ucenter示例分析全部内容,希望文章能够帮你解决单点登录 Ucenter示例分析所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。