2011-07-25 9 views

答えて

5

asp.netロールプロバイダとasp.netメニューコントロールを使用している場合は、web.sitemapファイルを使用して、以下のようにロールに基づいてメニューリンクの表示を制御できます。

<siteMapNode url="/Test/Default.aspx" roles="Admin" title="Test" description=""> 

そうしないと、loginviewコントロールを使用して、ロールに基づいて異なるリンクを以下のように表示できます。

<asp:LoginView runat="server"> 
    <AnonymousTemplate> 
     Menu Link1 
    </AnonymousTemplate> 
    <RoleGroups> 
     <asp:RoleGroup Roles="Admin"> 
      <ContentTemplate> 
       Menu Link2 
      </ContentTemplate> 
     </asp:RoleGroup> 
    </RoleGroups> 
</asp:LoginView> 

あなたが役割プロバイダを使用していない場合は、店舗情報のセッションでどこかを言って、あなたは、ASPXファイルに類似したものを使用することができます。

<% if (Session["admin"].ToString() == "Admin") { %> 
    Link1 
<% } else { %> 
    Link2 
<%} %> 

あなたは

string[] roleNames = Roles.GetRolesForUser(); 
としてログインしているユーザーの現在の役割を取得することができます
関連する問題