zar*_*jar 4 coldfusion redirect http http-headers
经过一段时间的搜索和阅读文档,我决定问你们.
所以,场景是"简单的":
用户访问https://Domain1.com,输入他的凭据,尝试登录.
成功登录后,根据用户类型和来自DB的其他信息,Domain1服务器应将用户重定向到https://Domain2.com上的另一个CF服务器.
到目前为止,没有问题,使用HTTP 301和cfheader/cflocation我将用户重定向到第二台机器,但他必须重复登录程序,这是我们的管理层无法接受的.
有没有任何好的和安全的做法,用于将客户端与会话数据"转移"到另一台机器或至少自动使用相同的凭据登录?
你怎么做的?
Jas*_*ean 10
你可能有很多方法可以解决这个问题.这里有一些可能的选择.
处理此问题的"企业"方法是使用某种单点登录(SSO)实现(如Shibboleth)来处理它.这很复杂,但非常有效和安全.
在重定向用户之前,您可以生成一个存储在某处(服务器范围,DB)的令牌,该令牌表示用户已登录.然后,当您重定向该用户时,请发送该令牌(http://domain2.com/HGF394JFJk58fjJ).当第二个服务器收到请求时,如果它看到令牌存在,它可以将远程请求(cfhttp)发送回第一个服务器,以查明它是否是有效令牌.如果是,只需将用户登录到第二个站点.当然,您必须做一些事情以确保令牌无法重复使用/重播.
用户登录到站点1后,您可以向站点2发送远程请求(cfhttp)以将用户登录.然后显示一个页面(来自站点1),该站点具有从站点2加载的iframe以设置站点的会话cookie 2.这不是很干净,并且要求您在重定向到站点2之前显示来自站点1的至少一个页面.我真的不喜欢这个选项并且怀疑它会容易出错且容易出错.
就像我说的,可能还有其他选择.有些甚至可能更好(尽管我怀疑比选项1更好).如果您有可用资源,我会选择选项1.
| 归档时间: |
|
| 查看次数: |
4484 次 |
| 最近记录: |