2009-08-21 1 views
7

私はこのコードを使用してシステムにログオンするユーザーを認証しています認証されていないユーザーのメニューを非表示にするにはどうすればよいですか?

FormsAuthentication.SetAuthCookie(user, false); 

私は非認証されたユーザーのための私のシステムメニューを非表示にしたいです。このようなもの:

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

どうすればいいですか?

ありがとうございます。

答えて

20
if (Request.IsAuthenticated) 

(これは、それがデフォルトのASP.NET MVCのテンプレートで行うの方法です)

+0

ありがとうございました!それは私にとって完璧です。 – MCardinale

1

私はあなたが使用したいと思う:

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

ユーザとそのアイデンティティはnullになる可能性がありますので、 'Request.IsAuthenticated'を使用する方が良い –

4

(Request.IsAuthenticated)場合

この例は、基本的なmvcプロジェクトのログインユーザーコントロールにあります。

(HttpContext.Current.User.IsInRole( "myRoleの"))場合は、その後

を役割をしたい場合は

+0

ありがとうございます。私は役割を使用していないが、私はこれを知っていただければ幸いです。 – MCardinale

1

私が使用:

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

または

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

他の答えは彼らもうまくいくように見えます。

関連する問題