J'ai la configuration suivante dans le web.config de mon application ASP.NET MVC:la difficulté à obtenir l'application ASP.NET MVC pour rediriger vers la page d'erreur pour les utilisateurs non autorisés
<authentication mode="Windows" />
<authorization>
<allow roles="MySecurityGroup"/>
<deny users="*"/>
</authorization>
<customErrors mode="On" defaultRedirect="Error.aspx">
<error statusCode="401" redirect="Help.aspx"/>
</customErrors>
Tout fonctionne bien si vous êtes dans MySecurityGroup, mais si vous ne l'êtes pas, vous n'êtes redirigé ni vers Error.aspx ni vers Help.aspx. (Notez que Error.aspx vit dans les vues \ Shared en Help.aspx est dans les vues \ Home.) Tout ce que vous obtenez est l'erreur par défaut:
Server Error in '/' Application.
Access is denied.
Description: An error occurred while accessing the resources required to serve this request. The server may not be configured for access to the requested URL.
Error message 401.2.: Unauthorized: Logon failed due to server configuration. Verify that you have permission to view this directory or page based on the credentials you supplied and the authentication methods enabled on the Web server. Contact the Web server's administrator for additional assistance.
Qu'est-ce que je fais mal?
MISE À JOUR: Maintenant, mon web.config est configuré comme ça, et il ne fonctionne toujours pas:
<system.web>
<customErrors mode="On" defaultRedirect="Help.aspx">
</customErrors>
</system.web>
<location path="">
<system.web>
<authorization>
<allow roles="MySecurityGroup"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Help">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Notez que je peux accéder à MyApp/Aide très bien et je suis interdit correctement du reste du site, mais il ne redirige jamais vers la page d'aide automatiquement.
Donne un sens parfait, mais pour une raison quelconque cela ne fonctionne pas pour moi. J'ai mis ce code juste après la fermeture de la section originale, mais je n'obtiens pas de résultats différents. Pour simplifier, je ne m'inquiète même pas de Help.aspx, juste Error.aspx. –
gfrizzle