2009-08-21 13 views
7

He autenticado usuarios iniciar sesión en mi sistema que utiliza este código:¿Cómo ocultar mi menú para usuarios no autenticados?

FormsAuthentication.SetAuthCookie(user, false); 

quiero ocultar mi menú del sistema para usuarios no autenticados. Algo como esto:

<% if(???) {%> 
    <ul id="menu> 
     ... 
    </ul> 
<% } %> 

¿Cómo puedo hacer esto?

Gracias.

Respuesta

20
if (Request.IsAuthenticated) 

(así es como se ha hecho en la plantilla por defecto ASP.NET MVC)

+0

¡Gracias! Es perfecto para mi – MCardinale

1

creo que desea utilizar:

<% if(this.User.Identity.IsAuthenticated) { %> 
<% } %> 
+1

El usuario y su identidad pueden ser nulos, por lo que es mejor utilizar 'Request.IsAuthenticated' –

4

si (Request.IsAuthenticated)

Hay un ejemplo de esto en el control de usuario de inicio de sesión del proyecto básico de mvc.

si quieres papeles continuación

si (HttpContext.Current.User.IsInRole ("myrole"))

+0

Gracias. No estoy usando roles, pero aprecio saber esto. – MCardinale

1

que utilizo:

<% if(HttpContext.Current.User.Identity.IsAuthenticated) %> 

o

<% if(HttpContext.Current.User.Identity.IsInRole("roleName")) %> 

pero las otras respuestas parecen que también funcionarían bien.

Cuestiones relacionadas