Lien de sécurité de coupe dans asp.net mvc
-
11-07-2019 - |
Question
Je souhaite afficher certains liens uniquement vers des utilisateurs authentifiés dans une application Web asp.net mvc.
- J'utilise le modèle d'une application Web asp.net mvc dans Visual Studio 2008 fourni avec la version bêta de asp.net mvc.
- J'utilise l'authentification par formulaire.
- J'aimerais ajouter un élément similaire à celui-ci dans une vue existante:
<a href="/Account/ChangePassword">Change password</a>
et affichez uniquement le lien vers les utilisateurs connectés.
Quel est le moyen le plus simple de le faire? Je voudrais quelque chose d'aussi simple que le rognage de sécurité du web.sitemap que j'ai essayé avec les formulaires Web asp.net. (Cela peut-il être utilisé avec mvc? Ou est-ce uniquement pour les formulaires Web?)
La solution
Ce qui suit devrait fonctionner. Vous devrez également faire quelque chose de similaire dans l'action du contrôleur à cet effet si l'utilisateur entre l'URL à la main dans son navigateur. Ou, comme vous le dites, vous pouvez restreindre l'accès à l'action dans le fichier web.config.
<% if (HttpContext.Current.Request.IsAuthenticated) { %>
<a href="/Account/ChangePassword">Change password</a>
<% } %>
Autres conseils
Vous pouvez créer un SiteMapProvider personnalisé comme celui-ci:
Construction d'un fournisseur de sitemap ASP.NET MVC avec suppression de sécurité
afficher le lien pour changer le mot de passe
afficher le lien de connexion
Vous pouvez simplement en résumer ceci:
Modifier le mot de passe