我正在使用IIS 4.5 Webforms上的Visual Studio 2015中构建的IIS8中的小型网站上工作,并使用Identity 2.0。我通常遵循https://www.asp.net/web-forms/overview/security/create-a-secure-aspnet-web-forms-app-with-user-registration-email-confirmation-and-password-reset并将自定义代码保持在最低限度。
随机地,用户使用正确的用户名和密码登录(没有错误),但它实际上并未将其登录。根据Chrome存储了Cookie,但所有指示符都显示用户仍然是匿名的。它发生在多台计算机和浏览器上,然后第二天工作正常。
相关网页的Web.config安全性:
<authentication mode="None"/>
<authorization>
<allow users="*"/>
</authorization>
编辑:服务器重启似乎暂时修复问题,所有登录都可以正常工作。在重新启动之前,我知道实体框架仍在与数据库进行通信,因为错误的密码被拒绝并且响应正确。
答案 0 :(得分:0)
我最终找到了答案。发布给将来可能会遇到此问题的任何人。阅读ASP.NET_SessionId + OWIN Cookies do not send to browser了解所涉及的所有细节。
Alexander Trofimov的回答(https://stackoverflow.com/a/37761687/7286942)是最简单的解决方法:
只需在CreateIdentity方法之前添加此行:
{{1}}