我目前在 2 个 Web 服务器上工作,一个是 Coldfusion,另一个是 PHP。
现在,Coldfusion 服务器是我的主要服务器,用户可以在其中登录以访问受限数据。 但是,我也开始使用 PHP 服务器,并希望让用户透明地访问该服务器上的特定页面 - 该服务器也需要登录信息。
我不希望用户登录两次。
有没有办法做到这一点?
谢谢
更新:在 Intranet 环境中工作,所以我不能使用任何公共(public)解决方案。
更新:我要求这样做的原因是因为我们正在从 MSQL/Coldfusion 环境(初始服务器)迁移到 PHP/ORACLE(新服务器)。所以我也有 2 个用户表(尽管它们包含大部分相同的信息)。 我正试图避免使用我们的初始服务器以支持我们对用户透明的新服务器,因此我暂时必须并行工作。
最佳答案
大多数单点登录解决方案的工作方式有点像这样......
- 主系统认证使用
- 用户选择启动迁移到系统 2 的需求
- 主系统在后台使用系统 2 对用户进行身份验证
- 系统 2 向主系统提供一个随机的、长的和一次性的 token
- 主系统使用 token 将用户重定向到系统 2
- 系统 2 检查 token (以及 IP 地址等其他因素)以验证 session
- 系统 2 处理 token 以确保它不能被重放
您需要确保传输 channel 具有一定的安全性,尤其是在主系统和系统 2 相互通信的地方。您会希望这是一种安全的传输方式。
关于php - 从服务器到服务器的持久登录信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373362/