ColdFusion会话管理/多域用户身份验证



我遇到了一个问题,需要对来自一个域的用户执行身份验证检查,该域位于一个单独的服务器、数据库上,并且使用JSP构建。

以下是流程的快速概述:

domain1.com(用户访问此页面登录到网站以获取他们需要的内容。使用J2EE会话ID)

domain2.com(用户可以在其中检索使用ColdFusion 10构建的数据的内容区域。特定于每个帐户的数据被传递到URL

例如

domain2.com/content/content.cfm?customerID=12345
domain2.com/content/content.cfm?customerID=12345&pageid=AB12&type=CID1

问题是,任何人都可以访问domain2,而无需通过domain1.com登录,只需输入URL即可。对最初从托管在与我的ColdFusion环境完全不同的平台上的域进行身份验证的会话进行身份验证,最佳安全做法是什么?

最佳实践:您必须使用可共享资源在多个环境之间进行正确的身份验证,例如数据库或可由它们访问的Web服务。这是唯一安全的方法。

通过Obsecurity实现安全:加密domain1.com上的登录信息(如客户身份),并将加密的令牌传递到domain2.com(重定向时)。请确保在加密的令牌中使用带有随机内容和过期时间戳的填充,以防止重复使用令牌。domain2.com可以很容易地解密令牌并从此开始处理登录。在这种情况下,可共享的资源是用于加密/解密令牌的密钥。AES是一个良好的开端。

相关内容

最新更新