asp.net-mvc - 部署后 ASP.NET Identity 2 重新登录

标签 asp.net-mvc authentication asp.net-identity-2

我正在使用 asp.net mvc 5 和 Identity2,标准登录/密码身份验证,带有“记住我”复选框。

想象一下场景:

  • 用户登录(标准身份验证 cookie)
  • 应用重新部署
  • 用户需要重新登录。

问题:

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

所有这些都在部署到 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/

相关文章:

c# - 在 ASP .NET MVC 中的页面请求之间存储来自解析的 CSV 文件的数据

ios - 带有发布权限回调的 Facebook iOS 3.1 sdk 登录

asp.net-identity - AspnetIdentity 在哪里存储 UserToken?

php - Laravel 5.3 - 登录尝试重定向失败

c# - 是否可以使用 Asp.Net Identity Core 注册多个用户?

asp.net-mvc-5 - 使用 ASP.NET 标识在两个项目中重叠用户登录

asp.net-mvc - ASP.NET MVC : how to authorize for users or client IP?

asp.net-mvc - 使用强类型对象保持 Controller 和 View 分离

asp.net-mvc - Azure 云服务的保留 IP 地址不起作用

php - 用户使用php和mysql数据库登录