SetAuthCookie 设置 Cookie,但在后续请求中不设置 IsAuthenticated

Jas*_*ord 2 asp.net cookies asp.net-mvc forms-authentication

我有一些代码用于创建身份验证票证。创建票证后,我们调用 SetAuthCookie 来设置 cookie,例如:

FormsAuthentication.SetAuthCookie(username, true);
Response.Redirect("/", true);
Run Code Online (Sandbox Code Playgroud)

如果我检查根页面以查看用户是否已通过身份验证,它会返回 false。但是,如果我硬编码用户名并执行以下操作:

FormsAuthentication.GetAuthCookie("jason", true).value);
Run Code Online (Sandbox Code Playgroud)

我得到了适当的 cookie 值。所以,cookie 存在。但是名称和标志没有被修改。关于我的问题可能是什么的任何想法?我正在使用 ASP.NET 4 和 MVC。

Jas*_*ord 5

解决了

我错过了 web.config 中的表单部分。由于登录表单驻留在另一台服务器上,因此已将其删除以进行本地测试。因此,将以下内容添加到 web.config 解决了我的问题:

<authentication mode="Forms" />
Run Code Online (Sandbox Code Playgroud)