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?)

È stato utile?

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top