我对 Formsauthentication 和我的 ajax 调用有疑问。我喜欢 Formsauthenticaction 适用于普通 asp.net 网站的方式。
但是,我的 asp.net 网站中有一个页面,该页面使用 AJAX 调用。在某些情况下,此页面会将响应状态代码设置为未授权 (401)。
Response.StatusCode = 401;
Response.End();
现在响应应该结束,我希望看到这个 401 状态码传播到前端。但是 Formsauthentication 会做出其他决定并将此状态更改为 302 并重定向到登录页面。因此,我无法在我的 UI 上检查状态 401。
进一步通知您:我在 IIS 7 上运行一个 asp.net 4.0 网站(不是MVC)。
我尝试使用以下节点配置我的 web.config:
<location path="mypage.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
但我想通过设置 Unauthorized 状态仍然会触发 Formsauthentication 模块。