Collegamento della protezione dei collegamenti in asp.net mvc
-
11-07-2019 - |
Domanda
Vorrei mostrare alcuni collegamenti solo agli utenti autenticati in un'applicazione web asp.net mvc.
- Uso il modello per un'applicazione web asp.net mvc in Visual Studio 2008 fornito con la versione beta di asp.net mvc.
- Uso l'autenticazione basata su moduli.
- Vorrei aggiungere qualcosa come il seguente a una vista esistente:
<a href="/Account/ChangePassword">Change password</a>
e mostra solo il collegamento agli utenti che hanno effettuato l'accesso.
Qual è il modo più semplice per farlo? Vorrei qualcosa di semplice come la limitazione della sicurezza della web.sitemap che ho provato con i moduli web asp.net. (Può essere usato con mvc? O è solo per i moduli web?)
Soluzione
Quanto segue dovrebbe funzionare. A tale scopo, dovrai anche fare qualcosa di simile nell'azione del controller nel caso in cui l'utente inserisca manualmente l'URL nel proprio browser. Oppure, come dici tu, potresti limitare l'accesso all'azione in web.config.
<% if (HttpContext.Current.Request.IsAuthenticated) { %>
<a href="/Account/ChangePassword">Change password</a>
<% } %>
Altri suggerimenti
È possibile creare un SiteMapProvider personalizzato come questo:
Creazione di un provider di sitemap ASP.NET MVC con limitazione della sicurezza
mostra collegamento cambia password
mostra collegamento di accesso
Puoi semplicemente farlo proprio per questo:
Cambia password