我在MVC6项目上的“记住我”样式复选框有问题。我在这里有一个相关的问题,该问题解决了在本地主机上进行调试的问题,但是将项目部署到我们的开发环境后,仍然迫使我在20分钟后重新登录。
20分钟的时间跨度使我认为IIS配置错误。我将我的应用程序池(配置为“无托管代码”)的空闲计时器设置为在1分钟后变为空闲状态。果然,1分钟后,我必须再次重新登录。
这使我相信,在应用程序池回收后,即使我的cookieSecurityStampValidationInterval
设置为不过期至10天且设置为10天零1分钟,我的持久身份验证cookie也不再被视为有效。
我已经在早期版本的.NET中看到了与web.config的机器密钥相关的类似内容,但是MVC6system.web
在web.config中没有供我放置机器密钥的部分。
我的.NET5项目DNX面向的是完整的.NET框架,而不是.NET Core。
您如何配置数据保护?使用IIS和DNX,我们不知道持久存储密钥的位置,除非您加载配置文件,这不是默认设置。因此,一旦您的应用终止,用于签名身份验证Cookie的所有密钥就会被丢弃。在IIS Express中不会发生这种情况,因为IIS Express会加载配置文件。
您在这里有两个选择。您可以在IIS服务器上运行配置脚本来创建ASP.NET可以使用的某些注册表项,也可以将数据保护配置为使用文件系统,而这正是您要运行多个主机的方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句