2

我对 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 模块。

4

1 回答 1

3

以下是Phil Haack 博客中提出的一些解决方案。

在您不想要时防止表单身份验证登录页面重定向

于 2011-10-26T20:52:09.807 回答