部署后,ASP.NET Identity 2重新登录

Ser*_*gey 3 authentication asp.net-mvc asp.net-identity-2

我正在使用asp.net mvc 5和Identity2,标准登录/密码验证,"记住我"复选框.

想象一下这个场景:

  • 用户登录(标准身份验证cookie)
  • 申请被重新部署
  • 用户需要再次重新登录.

问题:

  1. 部署后是否有可能不重新登录?
  2. 有时,在刷新页面部署后,需要授权访问 - 它会正确显示,但如果您第二次刷新 - 它会重定向到登录页面.

所有这些都发生在IIS7本地部署到IIS7时,一切正常.

hey*_*ega 8

您必须重新登录的原因是机器密钥更改.机器密钥加密用于加密和解密身份验证cookie.由于现有cookie无法解密,因此用户被视为未经授权,需要再次登录.

要解决此问题,您可以在应用程序web.config中手动设置机器密钥

Developer Fusion有一个很好的在线工具,可以为您生成这些工具.以下是一个例子......

<machineKey 
  validationKey="B4A19ABE93A27433785DD47D6444E4B59394E220641D339AEE453D701F202140FF2BF519CED40335A0563AFB494A48DDF1A8DA00D462B42813712D21342B28C2"
  decryptionKey="2488146C1EA8177EB75422FE6FB6188550EBD0E4B67FCFD33056E50AD9771040"
  validation="SHA1" decryption="AES"

/>
Run Code Online (Sandbox Code Playgroud)

现在每次重新部署密钥都不会改变.

希望这可以帮助.