ich habe das in der web.config meiner ASP.NET MVC-Anwendung eingestellt Anknüpfend:Problem ASP.NET MVC-app immer umleiten Seite für nicht autorisierte Benutzer auf Fehler
<authentication mode="Windows" />
<authorization>
<allow roles="MySecurityGroup"/>
<deny users="*"/>
</authorization>
<customErrors mode="On" defaultRedirect="Error.aspx">
<error statusCode="401" redirect="Help.aspx"/>
</customErrors>
Alles funktioniert gut, wenn Sie sind in MySecurityGroup, aber wenn nicht, werden Sie nicht zu Error.aspx oder Help.aspx weitergeleitet. (Beachten Sie, dass Error.aspx in Ansichten lebt \ Shared während Help.aspx in Views \ Home.) Alles, was Sie bekommen, ist der Standardfehler:
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.
Was mache ich falsch?
UPDATE: Jetzt ist meine web.config wie folgt aufgebaut, und es funktioniert immer noch nicht:
<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>
Bitte beachte, dass ich einfach gut zu MyApp/Hilfe navigieren kann und bin richtig vom Rest verboten der Website, aber es wird nie automatisch auf die Hilfeseite umgeleitet.
Macht Sinn, aber aus irgendeinem Grund funktioniert das nicht für mich. Ich habe diesen Code direkt nach dem Ende der ursprünglichen Abschnitt, aber ich bekomme keine anderen Ergebnisse. Der Einfachheit halber mache ich mir nicht einmal Gedanken über Help.aspx, sondern nur über Error.aspx. –
gfrizzle