访问客户端上的ASP.NET身份验证票证(通过javascript)

Pav*_*man 4 javascript asp.net forms-authentication

我有一个使用Forms身份验证的ASP.NET网站

    <authentication mode="Forms">
        <forms name="NewsCoreAuthentication" loginUrl="~/Default.aspx" defaultUrl="~/Default.aspx" protection="Validation" timeout="300" domain="someRootDomain.com" />
    </authentication>
Run Code Online (Sandbox Code Playgroud)

我需要确定用户在向客户端呈现后是否在网页上进行了身份验证.为了实现这一点,我想我可以阅读document.cookie并检查是否有".ASPXAUTH".但问题是即使我签了这个值也是空的.

如何检查该用户是否已通过身份验证?为什么document.cookie是空的?


谢谢你的回答.blowdart帮助我理解为什么无法从客户端脚本访问身份验证票据.

blo*_*art 5

它是空白的原因是因为cookie被标记为HttpOnly而受到保护.这意味着无法通过脚本访问它.关闭它是一个非常糟糕的主意,因为您网站中的XSS漏洞可能会将其暴露给cookie被盗,所以我不会告诉您如何做到这一点.