我在 PHP 中做一些事情,我必须读取另一个会话实例的会话值。例子
浏览器1:$_SESSION['value']="user1";
Browser2: $_SESSION['value']="user2";
Browser1 需要从某个请求中获取“user2”值。该请求还将包括 cookie(key, value)。
我怎样才能做到这一点?
谢谢,瓦尔
我在 PHP 中做一些事情,我必须读取另一个会话实例的会话值。例子
浏览器1:$_SESSION['value']="user1";
Browser2: $_SESSION['value']="user2";
Browser1 需要从某个请求中获取“user2”值。该请求还将包括 cookie(key, value)。
我怎样才能做到这一点?
谢谢,瓦尔
1 个处理 SSO(单点登录)的 PHP 服务器,另一个是在 ruby on rails(ROR)上运行的 Web 应用程序
[...]
但我们需要实现新功能,其中 ROR 服务器需要代表浏览器在 SSO 提交身份验证请求
您的 SSO 模型不需要以这种方式工作。事实上,它不应该。
SSO 通常是这样工作的。我使用非标准名称是因为我累了,不记得他们的正式名称是什么:
页面服务器在任何时候都不会“冒充”最终用户,并且页面服务器或身份验证服务器在任何时候都不需要接触彼此的最终用户会话数据。
页面服务器在任何时候都不会获得用户凭据的副本。 最终用户的实际身份验证仅发生在身份验证服务器上。在身份验证服务器使用正确的请求令牌将用户退回后,页面服务器请求有关用户的数据。
You can make this process more complex, if you'd like. For example, the URL that the Authentication Server bounces the user back to might need to be customizable. You can include the return URL with the End User request to the Authentication Server, but if you do so, you should sign it (using, say, HMAC) to ensure that some malicious cretin doesn't manipulate it on the way.
Clear as mud?
您将需要使用创建某种数据存储系统,该系统可供应用程序的所有用户访问。Cookie 和会话仅限于当前用户/浏览器。
数据库或文件是您需要使用的示例。
默认会话存储是文件。您可以像访问任何其他文件一样访问每个文件。会话数据经过编码,必须先解码才能使用。在评论中有许多解决方案
session_decode
- session_decode — 从字符串中解码会话数据