我正在使用 asp.net mvc 5 和 Identity2,标准登录/密码身份验证,带有“记住我”复选框。
想象一下场景:
- 用户登录(标准身份验证 cookie)
- 应用重新部署
- 用户需要重新登录。
问题:
- 部署后是否可以不重新登录?
- 有时,在部署后刷新页面时需要授权访问 - 它会正确显示,但如果您第二次刷新 - 它会重定向到登录页面。
所有这些都在部署到 IIS7 时发生,在本地 IIS Express 上一切正常。
最佳答案
您必须重新登录的原因是机器 key 更改。机器 key 加密用于加密和解密身份验证cookie。由于现有的 cookie 无法解密,因此用户被视为未经授权,需要重新登录。
要克服这个问题,您可以手动设置 machine key在应用程序 web.config 中
Developer Fusion 有一个很好的在线工具它可以为您生成这些。下面是一个例子...
<machineKey
validationKey="B4A19ABE93A27433785DD47D6444E4B59394E220641D339AEE453D701F202140FF2BF519CED40335A0563AFB494A48DDF1A8DA00D462B42813712D21342B28C2"
decryptionKey="2488146C1EA8177EB75422FE6FB6188550EBD0E4B67FCFD33056E50AD9771040"
validation="SHA1" decryption="AES"
/>
现在每次重新部署 key 都不会改变。
希望这会有所帮助。
关于asp.net-mvc - 部署后 ASP.NET Identity 2 重新登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29791804/