customerrors pour 401.2 dans ASP.NET
J'ai mis en œuvre avec succès autorisation basée sur les rôles dans ASP.NET. Quand une personne n'a pas de rôle, il arrive à voir une page d'erreur pour 401.2 pas autorisé.
Ce que je voudrais accomplir maintenant est d'avoir un custom 401 page de mon application, et il redirigé via les paramètres dans le web.config. J'ai essayé ceci:
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="401" redirect="NoAccess.htm" />
</customErrors>
Mais cela ne veut pas attraper. Dois-je le remplacer dans IIS à la place? J'espère que non car ce serait rendre les choses déployé plus difficile.
OriginalL'auteur Nyla Pareska | 2010-01-13
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré le même problème récemment et il s'avère que c'est une des bizarreries lors de l'utilisation de l'Authentification Windows.
Joshua Flanagan créé un nice HttpModule il y a le respect de la customErrors section de votre site web.config et rediriger l'erreur 401 page.
La portabilité de la HttpModule est agréable parce qu'il rend la solution réutilisable, et maintient votre Global.asax propre, mais il n'y a rien qui vous empêche de câblage de votre événement EndRequest dans le monde.asax avec son code, si vous avez vraiment voulu.
Si vous êtes en utilisant ASP.NET MVC, la solution n'est pas aussi élégant.
OriginalL'auteur Ryan Rivest
Si vous ne souhaitez pas ajouter un HttpModule
dans le web.config
mondiale.asax.cs
Il semble que cette méthode ne fonctionne pas si vous avez des variables de session sur la page. Je reçois ce quand il essaie d'exécuter la page
Object reference not set to an instance of an object
OriginalL'auteur Junior M
Voici un MVC agnostique variante:
Dans Le Web.config
Mondiale.asax.cs
OriginalL'auteur Jeremy Cook
Voici ce qui a bien fonctionné pour moi.
Mondiale.asax -
Web.config -
Cela prend en charge la double 401 avant un 200 question.
Contourne également les satanés firefox popup d'authentification.
OriginalL'auteur Ditti