0

フォーム認証+匿名アクセス用に設定されたWebサイトがあります。

ユーザーが任意のページ(.aspxページなどの管理対象リソース)を要求すると、ユーザーはLogon.aspxにリダイレクトされます。

.html、.png、.jpgなどの管理されていないリソースの場合に問題が発生します。ユーザーがURLを使用してそのようなリソースに直接アクセスしようとすると、認証なしでこれらのリソースを表示できます。彼はLogOn.aspxページにリダイレクトされません。

私は次のことを試みました:

**モジュールの設定を変更してIIS7.5の設定を変更し、DefaultAuthenticationとFormsAuthenticationの管理対象モジュールを編集します。

[ASP.NETアプリケーションまたはマネージハンドラーへの要求に対してのみ呼び出す]チェックボックスをオフにして保存すると、次のような警告メッセージが表示されます。

「このアプリケーションで参照されているアセンブリの中に指定されたタイプが見つかりません。アセンブリがこのアプリケーションのweb.configのsystem.web/compilationセクションのアセンブリのリストに追加されていることを確認してください。続行しますか? 「」

この警告メッセージを無視できることをブログで読んだので、警告メッセージの[はい]オプションをクリックして設定を保存します。

変更を保存した後、これによりWeb.configに次の行が追加されます。

<remove name="DefaultAuthentication" />
        <remove name="FormsAuthentication" />
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="" />
  <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="" />

これらの変更後も、ユーザーは認証なしで管理されていないリソースを表示できます。

ここに欠けているものはありますか?これを達成する他の方法はありますか?

4

1 に答える 1

0

system.webServer セクションの modules セクションで runAllManagedModulesForAllRequests を true に設定することにより、web.config.

欠点は、静的データ用のモジュールを実行するとサーバーの速度が低下することですが、確実に目的の効果が得られます。

于 2012-08-01T16:03:43.967 に答える