javascript - 我可以使用JavaScript删除ASP.NET身份验证cookie(.ASPXAUTH)吗?

标签 javascript asp.net forms-authentication

我可以使用JavaScript删除ASP.NET身份验证cookie(.ASPXAUTH)吗?我想在ASP.NET/JavaScript移动应用程序上实现注销功能,而无需往返服务器。但是,由于某些原因,此方法无效。

document.cookie = '.ASPXAUTH=; expires=Thu, 01-Jan-70 00:00:01 GMT;';


我该怎么办?

谢谢。

更新:好的,我读到有关HttpOnly cookie的信息,这就是这种情况。为了使cookie不是HttpOnly,将以下行添加到web.config(system.web部分):

<httpCookies httpOnlyCookies="false"/>


更新:上面的方法不起作用-ASP.NET只是忽略了该指令。我最终在Global.asax中进行了此黑客攻击:

protected void Application_EndRequest(Object sender, EventArgs e)
{
    string cookieName = System.Web.Security.FormsAuthentication.FormsCookieName;
    if (Response.Cookies.Count > 0)
    {
        foreach (string s in Response.Cookies.AllKeys)
        {
            if (s == cookieName)
            {
                Response.Cookies[cookieName].HttpOnly = false;
            }
        }
    }
}

最佳答案

您无需删除Cookie即可注销用户,只需将“ expires”值设置为昨天,然后BOOM,该用户已注销。
考虑一下这篇非常有用的博客文章:Using cookies in Javascript part 1

关于javascript - 我可以使用JavaScript删除ASP.NET身份验证cookie(.ASPXAUTH)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10358225/

相关文章:

forms-authentication - MVC 4 授权属性无法识别来自 ASP.Net 3.5 的表单授权

asp.net - asp.net 中 User.Identity 中的 Ticket.UserData 有多安全

javascript - 对于 Fabric.js 中的形状,如何知道某人是否正在调整大小以使其变小或变大

javascript - JMeter - 正则表达式提取器 - 多行 html

asp.net - Web部署发布后如何在服务器上运行.bat文件

c# - 在 asp net 中从 facebook 获取用户电子邮件

javascript - 将多个 DataTable 序列化为 JSON

c# - ASP.NET 表单例份验证默认重定向 [工作] 和重定向到带查询字符串的请求页面 [不工作]

javascript - 通过 Outlook 发送电子邮件

javascript - Promise 返回空值,尽管它存在于数据库中