Sto lavorando su un sito Web semplice in asp.net. Vorrei limitare l'accesso al lato, in modo che solo gli utenti in un gruppo AD specifico è consentito. L'ho fatto e sta funzionando bene. Ma quando un utente che non fa parte del gruppo AD tenta di accedere al sito, riceve una richiesta di accesso. Come reindirizzare l'utente non autorizzato a una pagina personalizzata, anziché ottenere il prompt di accesso?Reindirizzare gli utenti non autorizzati asp net
Di seguito è il mio web.config. La parte più bassa del codice, è qualcosa che ho provato ma non ha funzionato.
<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>
ho aggiunto questo ai 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");
}
}
Tutte le idee?
MODIFICA: Ho provato alcune delle soluzioni pubblicate, ma non hanno funzionato. Ma ho preso a lavorare con questo codice:
void Application_EndRequest(object sender, System.EventArgs e)
{
if (((Response.StatusCode == 401)
&& (Request.IsAuthenticated == true)))
{
Response.ClearContent();
Response.Redirect("~/AccessDenied.aspx");
}
}
}
perché ' ': qualsiasi utente è autorizzato ad accedere, è necessario consentire un gruppo o utenti specifici. –
Sì, per qualche motivo alcuni web.config non sono stati visualizzati. – mads
'Propmt' significa pagina di errore gialla a destra ?? –