2

Formsauthenticationとajax呼び出しに問題があります。通常のasp.netWebサイトでFormsauthenticactionが機能する方法が気に入っています。

ただし、asp.net Webサイトに、AJAXを使用して呼び出されるページがあります。このページでは、場合によってはResponse StatusCodeがUnauthorized(401)に設定されます。

Response.StatusCode = 401;
Response.End();

これで応答が終了するはずです。この401ステータスコードがフロントエンドに伝播されることを確認したいと思います。ただし、Formsauthenticationは別の方法を決定し、このステータスを302に変更して、ログインページにリダイレクトします。したがって、UIでステータス401を確認できません。

さらにお知らせします。IIS7でasp.net4.0Webサイト(MVCではない)を実行しています。

次のノードでweb.configを構成してみました。

<location path="mypage.aspx">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>

しかし、Unauthorizedステータスを設定すると、それでもFormsauthenticationモジュールがトリガーされると思います。

4

1 に答える 1

3

PhilHaackのブログから提案されたソリューションをいくつか紹介します。

不要な場合のフォーム認証ログインページリダイレクトの防止

于 2011-10-26T20:52:09.807 に答える