Pergunta

Eu gostaria de mostrar alguns links apenas para usuários autenticados em um aplicativo asp.net MVC web.

  • Eu uso o modelo para uma aplicação web mvc asp.net no Visual Studio 2008 que veio com a versão beta do asp.net mvc.
  • Eu uso a autenticação de formulários.
  • Eu gostaria de adicionar algo como o seguinte para uma vista existente:
<a href="/Account/ChangePassword">Change password</a>

e só mostrar o link para os usuários que estão logados.

O que é a maneira mais simples de fazer isso? Eu gostaria de algo tão simples como a filtragem de segurança do web.sitemap que eu tentei com formulários asp.net web. (Isso pode ser usado com MVC? Ou é apenas para formulários web?)

Foi útil?

Solução

A seguir deve funcionar. Você também vai precisar fazer algo semelhante na ação do controlador para este caso o usuário entradas a URL com a mão em seu browser. Ou, como você diz, você pode restringir o acesso à ação no web.config.

 <% if (HttpContext.Current.Request.IsAuthenticated) { %>
    <a href="/Account/ChangePassword">Change password</a>
 <% } %>

Outras dicas

Você pode construir um SiteMapProvider personalizado como este:

Construindo um provedor de ASP.NET MVC mapa do site com segurança aparar

link show de alteração de senha

link programa de login

Você pode simplesmente-lo apenas para isso:

Alterar senha
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top