900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > SSO单点登录的PHP实现方法(Laravel框架)

SSO单点登录的PHP实现方法(Laravel框架)

时间:2021-01-25 06:36:47

相关推荐

SSO单点登录的PHP实现方法(Laravel框架)

php教程|php手册

SSO,单点,登录,PHP,实现,方法,Laravel,框架

php教程-php手册

用户角色权限设计源码,vscode圆角主题,ubuntu打印机驱动,tomcat lib,sqlite cache,优秀旅游网页设计,e4a 数据库操作,服务器网站模板,wordpress 后台管理插件,vue开发前端框架,写个爬虫,php 关联数组,驻马店seo,springboot 混淆,dede调用标签代码,lol门户网站源码,网页音频播放代码,discuz手机端diy模板,dz后台空白,好看的统计报表页面,微擎公众平台管理系统,matlab图像配准程序lzw

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。 简单说一下我的逻辑,我也不知道我理解sso对不对。 假如三个站点 a.bai

iis 是什么源码,vscode正版多少钱,ubuntu 赋予权限,tomcat环保变量设置,定向爬虫案例,php 组合包,十堰谷歌seo公司,sns社交网站程序下载,wp模板duxlzw

flash上传源码,vscode 插件 查找,ubuntu kvmgt,tomcat集群目的,sqlite表中的数据,跑马灯系统直接安装插件,十大前端ui框架,python爬虫和八爪鱼,php无法显示验证码,白坭seo优化,网站管理的内容,网页菜单的种类,在线教育平台 模板lzw

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

简单说一下我的逻辑,我也不知道我理解sso对不对。

假如三个站点

作为验证用户登录账户。

b和c作为客户端(子系统)。

b和c需要登录的时候跳转到a,并且携带参数source指明登陆后跳转的链接。

a站点就是普通的登陆方式(校验用户密码),校验成功后做一些处理。需要生成一个ticket,具体怎么生成都可以,只要安全就可以了。然后存储到Cache里面。这里有疑问,后面总结。登陆成功后直接跳转到\(url就可以了。

``` php private function getTicketUrl(\)source){\(ticket = md5(time()+key); Cache::put(\)ticket, $user, 120);$url = $source . ?ticket= . $ticket;return $url;}

假如说a站带着ticket跳转到b站(?ticket=xxxxxxxxxxxxxxxx“`)

b站做一个全局的过滤器,接受这个ticket然后请求a站验证ticket是否为a生成的。

b站过滤器App\Http\Middleware\CasAuthenticate代码,这里判断是否有ticket并发送请求到a站校验。如果是登陆的,则拿到用户UID进行登陆。

public function handle($request, Closure $next){$ticket = $request->input( icket);if ($ticket) {$result = json_decode(\ . /auth/check-ticket?ticket= . $ticket), true);if ($result[state] == "SUCCESS") {$request->session()->flush();Auth::loginUsingId($result[ esult][uid]);return redirect(redirect()->getUrlGenerator()->current());}}return $next($request);}

逻辑算是完成了,但是有几个疑问。

1.我这个实现,我自己都不知道是不是对的,这是我根据原理写出来的。

2.假如b站现在跳转到c站,由于b站活跃比较频繁,session一直都在,而a站的缓存时间极有可能已经过期了,此时从b站跳转到c站,c站跳转到a站去判断登陆,结果发现已经失效了,还是得登陆。所以这是有问题的,由于我们业务模块相关性差,不会随意跳转,所以暂不考虑这样的问题。但这确实是我的一个问题。我没想清楚。

有关SSO单点登录的PHP实现方法(Laravel框架),小编就给大家介绍这么多,希望对大家有所帮助!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。