[ad_1]
Y a-t-il un moyen à l’intérieur web.config ou les paramètres IIS 7 qui arrêteront les invites de connexion et forceront simplement l’utilisateur à l’erreur 401 après avoir été refusé en raison de la règle d’autorisation d’URL ?
À l’heure actuelle, il restreint avec succès l’accès à la page, mais n’affiche pas l’erreur « 401 – Non autorisé : l’accès est refusé en raison d’informations d’identification non valides » jusqu’à ce que vous ayez cliqué sur Annuler dans l’invite de connexion.
Utilisation de Windows 2008 R2, IIS 7.5, authentification Windows, emprunt d’identité et autorisation d’URL.
Vous trouverez ci-dessous un exemple de la façon dont mon web.config le fichier ressemble à…
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <security> <authorization> <remove users="*" roles="" verbs="" /> <add accessType="Allow" roles="iis7test\BobAndFriends" /> </authorization> </security> </system.webServer> <location path="bobsSecret.aspx"> <system.webServer> <security> <authorization> <remove users="" roles="iis7test\BobAndFriends" verbs="" /> <add accessType="Allow" users="iis7test\Bob" /> </authorization> </security> </system.webServer> </location> </configuration>
Solution 1
le lien suivant vous est peut-être utile
http://stackoverflow.com/questions/217678/how-to-generate-an-401-error-programaically-in-an-asp-net-page[^]
Solution 2
Résolu en utilisant httpErrors dans web.config. Le site redirige désormais vers la page d’erreur personnalisée et ne demande pas 3 fois les informations d’identification Windows.
<system.webServer> <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File"> <remove statusCode="401" /> <error statusCode="401" path="/AccessDenied.aspx" responseMode="ExecuteURL" /> </httpErrors> </system.webServer>
[ad_2]
コメント