ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

如何从PHP中的另一个会话实例读取会话值?

2019-10-24 00:31:20  阅读:207  来源: 互联网

标签:single-sign-on session-cookies session php


我在PHP中做一些事情,必须读取另一个会话实例的会话值.

浏览器1:
$_SESSION [‘value’] =“ user1”;

浏览器2:
$_SESSION [‘value’] =“ user2”;

Browser1将需要从某些请求中获取“ user2”值.该请求还将包括cookie(key,value).

我怎样才能做到这一点?

谢谢,
瓦埃尔

解决方法:

1 PHP server that handles SSO(single sign on) the other is a web applicarion runs on ruby on rails(ROR)

[…]

but we need to implement new functionality where the ROR server needs to submit an authentication request at the SSO on behalf of the browser

您的SSO模型不需要那样工作.实际上,它不应该.

SSO通常是这样工作的.我使用非标准名称是因为我很累,不记得它们的正式名称是什么:

>最终用户:需要登录的浏览器花花公子.
>页面服务器:最终用户尝试登录的站点.
>认证服务器:实际上拥有最终用户数据的主版本的站点.

>最终用户从页面服务器请求页面.
>页面服务器检查最终用户的现有登录状态.如果最终用户未登录,则页面服务器使用唯一令牌将最终用户重定向到身份验证服务器.
>身份验证服务器使用唯一令牌从最终用户获取请求.它完成了登录用户所需的所有操作.
>用户登录后,身份验证服务器将使用另一个不同的唯一令牌将最终用户发送回页面服务器.
>最终用户对页面服务器的请求使页面服务器向身份验证服务器发出请求.该请求包括原始唯一令牌和另一个不同的唯一令牌.
>身份验证服务器使用有关用户的信息来响应页面服务器,如果令牌无效,则会返回一条错误消息.检索用户数据后,身份验证服务器将使令牌无效. (这可以防止请求重播.顺便说一句,您应该在整个过程中都使用SSL.)
>页面服务器登录用户并存储所需的有关最终用户的任何信息.

Page Server绝对不会“冒充”最终用户,Page Server或Authentication Server绝对不需要相互触摸对方的End User会话数据.

Page Server绝对不会获得用户凭据的副本.最终用户的实际身份验证仅在身份验证服务器上进行.在认证服务器使用适当的请求令牌将用户退回之后,页面服务器请求有关用户的数据.

如果需要,可以使此过程更加复杂.例如,身份验证服务器将用户退回的URL可能需要自定义.您可以在返回到身份验证服务器的最终用户请求中包含返回URL,但是,如果这样做,则应该对其进行签名(使用HMAC),以确保某些恶意的cretin不会在途中对其进行操作.

像泥一样清澈?

标签:single-sign-on,session-cookies,session,php
来源: https://codeday.me/bug/20191023/1916693.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有