私はasp.netの簡単なWebサイトで作業しています。 私は、特定のADグループのユーザーだけが許可されるように、サイドへのアクセスを制限したいと思います。私はそれをして、それは正常に動作しています。しかし、ADグループに所属していないユーザーがサイトにアクセスしようとすると、ログインプロンプトが表示されます。ログインプロンプトを表示するのではなく、権限のないユーザーをカスタムページにリダイレクトするにはどうすればよいですか?許可されていないユーザーをasp netにリダイレクト
以下は私のweb.configです。コードの一番下の部分は、私が試したが動作しなかったものです。
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Windows"/>
<authorization>
<allow roles="DOMAIN\GROUP"/>
<deny users="*"/>
</authorization>
</system.web>
<location path="AccessDenied.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
私はGlobal.asax.csにこれを追加しました:
protected void Application_EndRequest(Object sender, EventArgs e)
{
if (HttpContext.Current.Response.Status.StartsWith("401"))
{
HttpContext.Current.Response.ClearContent();
Server.Execute("AccessDenied.aspx");
}
}
任意のアイデア?
編集: 投稿されたソリューションのいくつかを試しましたが、機能しませんでした。 しかし、私はそれは、このコードで作業しました:
void Application_EndRequest(object sender, System.EventArgs e)
{
if (((Response.StatusCode == 401)
&& (Request.IsAuthenticated == true)))
{
Response.ClearContent();
Response.Redirect("~/AccessDenied.aspx");
}
}
}
'<許可ユーザー=「*」/>は'どのユーザーがアクセスを許可されている意味するので、あなたが特定のグループやユーザーを許可する必要があります。 –
はい、何らかの理由でweb.configの一部が表示されませんでした。 – mads
'Propmt'は黄色のエラーページを意味します。 –