2009-08-21 7 views
7

Mam uwierzytelnionych użytkowników do logowania w systemie przy użyciu tego kodu:Jak ukryć moje menu dla nieuwierzytelnionych użytkowników?

FormsAuthentication.SetAuthCookie(user, false); 

chcę ukryć menu systemowego dla niezarejestrowanych użytkowników uwierzytelnionych. Coś takiego:

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

Jak mogę to zrobić?

Dziękuję.

Odpowiedz

20
if (Request.IsAuthenticated) 

(Jak to się robi w domyślnym szablonie ASP.NET MVC)

+0

Dziękujemy! Jest dla mnie idealny. – MCardinale

1

Myślę, że chcesz używać:

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

Użytkownik i jego tożsamość może być pusta, więc lepiej użyć 'Request.IsAuthenticated' –

4

if (Request.IsAuthenticated)

Jest na to przykład w logowaniu użytkownika do podstawowego projektu mvc.

jeśli chcesz role następnie

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

+0

Dziękuję. Nie używam ról, ale doceniam to. – MCardinale

1

używam:

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

lub

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

ale inne odpowiedzi wyglądają tak, jakby działały dobrze.