Pregunta

Me gustaría mostrar algunos enlaces solo a usuarios autenticados en una aplicación web asp.net mvc.

  • Uso la plantilla para una aplicación web asp.net mvc en Visual Studio 2008 que vino con la versión beta de asp.net mvc.
  • Uso autenticación de formularios.
  • Me gustaría agregar algo como lo siguiente a una vista existente:
<a href="/Account/ChangePassword">Change password</a>

y solo muestra el enlace a los usuarios que han iniciado sesión.

¿Cuál es la forma más sencilla de hacer eso? Me gustaría algo tan simple como el recorte de seguridad del mapa web.sitemap que he probado con los formularios web asp.net. (¿Se puede usar con mvc? ¿O es solo para formularios web?)

¿Fue útil?

Solución

Lo siguiente debería funcionar. También deberá hacer algo similar en la acción del controlador para esto en caso de que el usuario ingrese la URL a mano en su navegador. O, como usted dice, podría restringir el acceso a la acción en web.config.

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

Otros consejos

Puede crear un SiteMapProvider personalizado como este:

Creación de un proveedor de mapa de sitio ASP.NET MVC con recorte de seguridad

mostrar enlace de cambio de contraseña

  

mostrar enlace de inicio de sesión

Puede simplemente hacerlo:

       Cambiar contraseña
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top