我正在构建一个 .net 网络应用程序并使用带有 cookie 的表单例份验证来记住用户是否已登录:
<authentication mode="Forms">
<forms timeout="4320" cookieless="UseCookies" loginUrl="~/account.aspx" name="test" slidingExpiration="true" />
</authentication>
但是在构建、更改 web.config 或重置 IIS 后,我加载的第一个页面显示我没有登录。但是如果我再次刷新页面,它会显示我已经登录,即使我没有登录'做任何事情。
所以它似乎记得我已登录,但只是在第一个页面加载之后。
这是常态吗?我在 web.config 中配置有误吗?这只是本地主机问题吗?
最佳答案
好吧,这当然是我自己的愚蠢错误。结果在我的 web.config 中我有设置:
<appSettings configSource="appSettings.config" />
问题是我的项目中不存在 appSettings.config。在我删除此行后(它来自样板代码并且不需要它),它找到了。
所以显然在第一次加载时 .net 对这个文件不存在很生气,因为它试图第一次加载配置,但在第一次加载之后它不再关心了(这和我一样技术可以得到)。
关于c# - 在 .net 中重置 IIS 后经过身份验证的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6344264/