位置: 编程技术 - 正文
推荐整理分享SSO单点登录的PHP实现方法(Laravel框架)(oauth2 sso单点登录),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sso php,sso单点登录实现代码,oauth2 sso单点登录,sso单点登录跳转异常是什么意思,sso单点登录 开源框架,php sso单点登录原理,php sso单点登录原理,sso单点登录成功跳转页面,内容如对您有帮助,希望把文章链接给更多的朋友!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
简单说一下我的逻辑,我也不知道我理解sso对不对。
假如三个站点 a.baidu.com b.baidu.com c.baidu.com
a.baidu.com 作为验证用户登录账户。
b和c作为客户端(子系统)。
b和c需要登录的时候跳转到a,并且携带参数source指明登陆后跳转的链接。
a站点就是普通的登陆方式(校验用户密码),校验成功后做一些处理。需要生成一个ticket,具体怎么生成都可以,只要安全就可以了。然后存储到Cache里面。这里有疑问,后面总结。登陆成功后直接跳转到(url就可以了。
假如说a站带着ticket跳转到b站(b.baidu.comticket=xxxxxxxxxxxxxxxx```)
b站做一个全局的过滤器,接受这个ticket然后请求a站验证ticket是否为a生成的。
b站过滤器AppHttpMiddlewareCasAuthenticate代码,这里判断是否有ticket并发送请求到a站校验。如果是登陆的,则拿到用户UID进行登陆。
逻辑算是完成了,但是有几个疑问。
1.我这个实现,我自己都不知道是不是对的,这是我根据原理写出来的。
2.假如b站现在跳转到c站,由于b站活跃比较频繁,session一直都在,而a站的缓存时间极有可能已经过期了,此时从b站跳转到c站,c站跳转到a站去判断登陆,结果发现已经失效了,还是得登陆。所以这是有问题的,由于我们业务模块相关性差,不会随意跳转,所以暂不考虑这样的问题。但这确实是我的一个问题。我没想清楚。
有关SSO单点登录的PHP实现方法(Laravel框架),小编就给大家介绍这么多,希望对大家有所帮助!
Zend Framework教程之Zend_Db_Table表关联实例详解 本文实例讲述了ZendFramework中Zend_Db_Table表关联用法。分享给大家供大家参考,具体如下:介绍:在RDBMS中,表之间有着各种关系,有一多对应,多多对应
PHP getallheaders无法获取自定义头(headers)的问题 在客户端请求的时候增加了自定义的http头,请求如下所示:自定义http请求头var_dump(getallheaders);一开始通过getallheaders参数获取,但是发现在nginx部署的服
ThinkPHP路由机制简介 本文实例讲述了ThinkPHP路由机制。分享给大家供大家参考,具体如下:ThinkPHP支持URL路由功能,要启用路由功能,需要设置ROUTER_ON参数为true。开启路由功
标签: oauth2 sso单点登录
本文链接地址:https://www.jiuchutong.com/biancheng/293164.html 转载请保留说明!上一篇:Zend Framework开发入门经典教程(framework开发教程)
下一篇:Zend Framework教程之Zend_Db_Table表关联实例详解(zendstudio怎么创建php项目)
友情链接: 武汉网站建设