【发布时间】:2014-05-12 11:34:29
【问题描述】:
我在 ASP.NET 3.5 应用程序中使用表单身份验证。当我登录时,我可以在 Chrome 中看到已设置身份验证 cookie 并正在发送回 ASP.NET 开发服务器。
但是,当它到达Global.asax 中的此代码时:
void Application_AuthenticateRequest(object sender, EventArgs e)
{
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];
我的代码设置的 auth cookie 不再存在!即使 Chrome 已经为该请求发送了 cookie!只有 ASP.NET 会话 cookie 在 Context.Request 中可见。
我尝试更改身份验证 cookie 的名称,但没有帮助。
顺便说一句,即使我已更改 web.config 以指定表单身份验证,它也要求浏览器执行 NTLM 身份验证。
【问题讨论】:
-
@Win 这不是问题 - 正在设置 cookie,只是服务器代码看不到它。
-
您的应用程序的常规HttpCookie 是否可以在 Chrome 中使用?请在web.config中发布创建FormsAuthenticationTicket和authentication标签的代码。
标签: asp.net cookies forms-authentication asp.net-3.5