0

私のWebサイトにはWindows認証があり、web.configファイルで言及したユーザーのみが許可されます。残りのユーザーはサイトにアクセスできないようにする必要があるため、他のユーザーがアクセスしようとしたときに、denied.htmlページを取得します。 access.Followingは私のコードです。

web.configで

<authentication mode="Windows">
</authentication>    
<authorization>
  <allow users="domain\user1, domain\user2" />
  <deny users="*"/>
</authorization>

Global.asaxのApplication_EndRequestメソッド内

 protected void Application_EndRequest(Object sender, EventArgs e)
{
    HttpContext context = HttpContext.Current;
    if (context.Response.Status.Substring(0, 3).Equals("401"))
    {
        context.Response.ClearContent();
        Server.Execute("~/Denied.html");
    }
}

Denied.htmlで

<img src="Images/Access_Denied.jpg" />

今、私はすでに試し、グーグルで検索したが、解決策を見つけることができなかった2つの質問があります。

1)アクセス権を持たないユーザーは、LANクレデンシャルの入力を求めるダイアログボックスが表示され、3回試行した後、denied.htmlにリダイレクトされます。ログインプロンプトを回避してdenied.htmlを直接取得する方法はありますか?

2)denied.htmlに読み込もうとしている画像がページのデザインに表示されていますが、実行時に表示されません。理由がわかりませんでしたか?

前もって感謝します!

4

1 に答える 1

0

#1に答えることはできませんが、#2は、構成ファイルのリソースへのアクセスを拒否したために発生します。これは、web.configでオーバーライドできます...

...
...
</system.web>
  <location path="Images">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
于 2013-03-01T14:53:06.370 に答える