考虑到Web应用程序(.NET 3.5 +)的想法
使用表单进行身份验证将产生类似的代码行
FormsAuthentication.SetAuthCookie(strUsrNm, True)
在非负载均衡的服务器实例中这很好。身份验证如何在负载均衡的stuation(无粘性会话/无限)中工作,并且您无法在浏览器中存储客户端IP,用户密码或登录。
限制:没有数据库会话,没有AD服务器(例如:迎合外部用户)
简而言之 - 在负载均衡的情况下,如果用户在没有重新进行身份验证的情况下对其他服务器进行身份验证,那么应用程序如何知道用户是谁。
感谢
答案 0 :(得分:17)
如果您使用cookie,则所有服务器都将了解经过身份验证的用户,因为身份验证票证存储在Cookie中。任何服务器都将收到此cookie,并且能够解密故障单并对用户进行身份验证。
Here您有关于表单身份验证如何工作的更多详细信息。
此外,您必须确保服务器场中的所有服务器共享用于加密和解密的计算机密钥。
如果在Web场中部署应用程序,则必须确保每台服务器上的配置文件共享相同的validationKey和decryptionKey值,这些值分别用于散列和解密。这是必需的,因为您无法保证哪个服务器将处理连续的请求。
使用手动生成的键值,设置应类似于以下示例。
<的machineKey
的validationKey =“21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7 AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B“
decryptionKey = “ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F” 验证= “SHA1” 解密= “AES” />
Here更多详情