.net 使用Web场进行身份验证

.net 使用Web场进行身份验证,.net,asp.net,authentication,web-farm,.net,Asp.net,Authentication,Web Farm,考虑到web应用程序(.NET 3.5+)的概念 浏览者 网络应用 使用表单的身份验证将产生类似的代码行 FormsAuthentication.SetAuthCookie(strUsrNm,True) 这在非负载平衡的服务器实例中很好。身份验证如何在负载平衡的情况下工作(无粘性会话/无限),并且不能在浏览器中存储客户端IP、用户密码或登录名 浏览者 负载平衡器 Web应用程序(在服务器1上)| | Web应用程序(在服务器2上) 限制:没有数据库会话,没有广告服务器(例如:迎合外部用户

考虑到web应用程序(.NET 3.5+)的概念

  • 浏览者
  • 网络应用
使用表单的身份验证将产生类似的代码行

FormsAuthentication.SetAuthCookie(strUsrNm,True)

这在非负载平衡的服务器实例中很好。身份验证如何在负载平衡的情况下工作(无粘性会话/无限),并且不能在浏览器中存储客户端IP、用户密码或登录名

  • 浏览者
  • 负载平衡器
  • Web应用程序(在服务器1上)| | Web应用程序(在服务器2上)
限制:没有数据库会话,没有广告服务器(例如:迎合外部用户)

简言之,在负载平衡的情况下,如果用户未经重新身份验证就针对另一台服务器进行身份验证,应用程序如何知道用户是谁


谢谢

如果您使用cookie,所有服务器都会知道经过身份验证的用户,因为身份验证票证存储在cookie上。任何服务器都将收到此cookie,并且能够解密票据并对用户进行身份验证

您有关于表单身份验证工作原理的更多详细信息

您还必须确保服务器场上的所有服务器共享用于加密和解密的机器密钥

如果在Web场中部署应用程序,则必须确保每个服务器上的配置文件共享validationKey和decryptionKey的相同值,这两个值分别用于哈希和解密。这是必需的,因为您无法保证哪个服务器将处理连续的请求

对于手动生成的键值,设置应类似于以下示例

更多细节