我有一些代码用于创建身份验证票证。创建票证后,我们调用SetAuthCookie来设置cookie,例如:
FormsAuthentication.SetAuthCookie(username, true);
Response.Redirect("/", true);
如果我检查根页面以查看用户是否经过身份验证,则会返回 false。但是,如果我将用户名硬编码并执行以下操作:
FormsAuthentication.GetAuthCookie("jason", true).value);
我得到了适当的cookie值。所以,cookie 是存在的。但名称和旗帜没有修改。关于我的问题可能是什么有什么想法吗?我正在使用 ASP.NET 4 和 MVC。
最佳答案
已解决
我缺少 web.config 中的表单部分。由于登录表单驻留在另一台服务器上,因此它已被删除以进行本地测试。因此,将以下内容添加到 web.config 解决了我的问题:
<authentication mode="Forms" />
关于asp.net - SetAuthCookie 设置 Cookie,但不在后续请求中设置 IsAuthenticated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21913716/