导航:首页 > 编程语言 > php如何实现单点登录

php如何实现单点登录

发布时间:2022-05-07 03:58:09

php实现单点登录

可以使用cookie
但是作为一个系统来说 你这样做一点不安全

② PHP 单点登录代码

假设有三个不同域名,a.com, b.com, c.com,将其中之一作为真正的登陆入口,所有的域名下发起的登陆,全部重定向到这个节点,这里假设选择a.com/login.php为统一登入节点,为了方便说明,把a.com叫做主节点,其余叫做从节点。

假设现在从任意站点发出登陆请求,最终都被带到 a.com/login.php?from=b.com&sfkey=xxxxxx,用户输入登陆信息,假设登陆成功,返回一个登陆成功中间页面,在这个页面里,包含下面html代码

<iframe width="0" height="0" src="b.com/sso.php?sessid=xxxxxxxxxxxx&sfkey=xxxxxxxxxxx"></iframe>
<iframe width="0" height="0" src="c.com/sso.php?sessid=xxxxxxxxxxxx&sfkey=xxxxxxxxxxx"></iframe>

sessid是登陆成功以后的session ID,sfkey是一个安全码,这两个串在login.php里绑定到当前登陆的用户记录上。

这个时候a.com实际已经登陆完毕,获得了PHPSESSID的cookie。两个iframe的作用是把获得的session id立刻同步到从节点上,从节点的sso.php获得sessid和sfkey后,首先校验这个配对是否存在,如果存在,立刻把sessid值设为当前session id

session_id($_GET['sessid']); // 使用a.com产生的session id
session_start();

sso.php请求完毕后,b.com和c.com这两个站点就获得了和a.com一样的PHPSESSID cookie;

这个页面会把用户重定向回所来自的页面(到达login.php的时候记住了),重定向完成后,用户已经在所有网站完成了同步登陆。
a.com发送iframe请求的时候使用加密的sessid=xxxxxx里的sessid,从节点的sso.php获取密文后解密才获得真实的session id
可以用单独域名来作为登陆主节点,比如login.x.com,而不用a b c中的任意一个,login.x.com做且仅作登陆服务。

③ 有人做过PHP单点登录吗

单点登录最简单的实现方式就是使用cookie作为媒介,存放用户凭证。用户登录父应用之后,应用返回一个加密的cookie,当用户访问子应用的时候,携带上这个cookie,授权应用解密cookie并进行校验,校验通过则登录当前用户。

④ PHP单点登录怎么实现

一般两种方案:
1 共享SESSION(db,nosql等)
2 通过接口对每个域名下写cookie(常见ucenter)。
至于那些在页面上做处理,不现实的。一则涉及面广,二则维护不方便,也不符合业务封装(模块化)的架构思维。

⑤ php 怎么实现单点登录

您好,即插即用方式实现单点登录:
对于 B/S结构应用系统,用户只需通过浏览器界面登录一次,即可通过UTrust SSO单点登录系统访问后台的多个用户权限内的Web应用系统,无需逐一输入用户名、密码登录。对于 C/S结构应用系统,通过IE控件来实现对C/S系统客户端的单点登录,用户输入一次用户名、密码,即可访问所有被授权的C/S系统资源。无论对于B/S和C/S结构的应用系统,实现单点登录的功能时,后台应用系统无需任何修改。•后置代理方式实现单点登录 对于有改造条件的B/S结构应用系统,UTrustSSO也提供了后置代理的方式实现单点登录。SSO 系统提供各种API,Agent代理,对原有应用系统进行改造,改变原有应用系统的认证方式,同时采用认证服务器提供的技术进行一次性身份认证,实现单点登录。

⑥ php 怎么实现单点登录

php 单点登录并不复杂。单独登录 (SSO)其实就是让用户通过一次登录访问授权的网络资源。如果是要实现的话,就需要找专业的解决方案了,比如玉符SSO单点登录解决方案。
玉符单点登录的优势主要有:
玉符SSO支持市面上所有标准协议,云服务或者本地部署都搞得定,微软的SAML、谷歌的OIDC,包括CAS、Oauth、JWT等待各种协议都支持
可以提供自研SDK,完美解决自研系统或者没有标准接口应用的问题,只需要十几行代码就可以完成。
玉符单点登录SSO已经实现产品化,交付迅速,时间短,安全性强,单点登录全部通过token令牌实现,不会拿到用户的密码,安全可靠。
希望我的回答对你有帮助。

⑦ PHP和MySQL数据库如何实现单点登录

一般两种方案:
1
共享SESSION(db,nosql等)
2
通过接口对每个域名下写cookie(常见ucenter)。
至于那些在页面上做处理,不现实的。一则涉及面广,二则维护不方便,也不符合业务封装(模块化)的架构思维。
答题不易,互相理解,您的采纳是我前进的动力,感谢您。

⑧ php 单点登录

思路很简单,只要5个子系统的用户表信息是一样的,那找到5个子系统的登陆写入cookie或session代码,将其统一一下就可以了!然后再找到判断登陆状态的代码,也将其统一一下就OK!

⑨ php单点登陆(sso)实例

建一个在线用户表 字段 包括session_id,user_id,
如果你想 用户登录后没有退出 用户继续使用相同账户 密码登录的话 踢出原来已经登录的用户
用户登录成功时,把sessuib_id,user_id插入到在线用户表中
下次用户登录时 根据user_id查询这个表 若有记录取得相应的session_id 并删除相应的session文件即可。

阅读全文

与php如何实现单点登录相关的资料

热点内容
idea重启项目不编译 浏览:495
程序员那么可爱演员表陆漓妈妈 浏览:127
linuxgadget驱动 浏览:592
华三调用acl的命令 浏览:7
资金流pdf 浏览:929
金融结算法补充条款 浏览:289
什么叫服务器怎么连接 浏览:519
空调压缩机有制冷但室内不是很冷 浏览:837
如何查解压成功 浏览:647
代码编译服务器硬件配置2021 浏览:413
php如何选中相同的进行修改 浏览:623
工行app个人怎么给企业账户转账 浏览:149
汇编与程序员 浏览:666
压缩包解码器下载 浏览:130
爱旅行的预备程序员 浏览:111
安卓qq浏览器怎么转换到ios 浏览:292
不同编译器的库可以调用吗 浏览:455
灰度信托基金加密 浏览:423
宿迁程序员兼职网上接单 浏览:929
电视编译器怎么设置 浏览:280