c# - 在 .net 中重置 IIS 后经过身份验证的用户

标签 c# asp.net authentication cookies forms-authentication

我正在构建一个 .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/

相关文章:

用于解析 JSON 结果的 C# 类

c# - 我可以在 C# 中创建三元运算符吗?

c# - Linq 重复 List<T> 中给定范围的每第 n 个元素

c# - SQL insert into not exists on multiple results

javascript - 由于缺少自定义 header ,身份验证中间件会阻止 OPTIONS 预检请求

asp.net - Web api 身份验证架构

c# - 互操作将字符串从 C# 发送到 C++

c# - 在回发之间维护通用列表

asp.net mvc 键 'attachdbfilename' 的值无效

php - Laravel 记住我永远在线