0

そのため、フォームを認証するように web.config を設定しました。web.config に 2 つのコードがありますが、動作がおかしいです。www.mysite.com にアクセスすると login.aspx ページにリダイレクトされますが、www.mysite.com/default.aspx にアクセスしてもリダイレクトされません。なぜこれをしているのですか?また、デフォルトのドキュメントを default.aspx として設定しています

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Forms">
        <forms loginUrl="~/Login.aspx" timeout="2880"         defaultUrl="account/default.aspx" />
    </authentication>
    <authorization>
        <deny users="?" />
    </authorization>

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

1 に答える 1

1

構成ファイルに明確に示されているように、認証されていないユーザーが "default.aspx" URL に明示的にアクセスできるようにしています。"/" URL にはそのようなものはありません。それらが最終的にディスク上の同じ物理ファイルを指すようになる (可能性がある) ことは問題ではないことに注意してください。認証目的で重要なのは URL だけです。タグを複製して、認証ステータスに関係なく、すべてのユーザーにアクセスできる<location>別のタグを作成するだけです。path="/"

于 2012-07-12T02:03:45.507 に答える