2011-07-06 31 views
0

我正在填充MVC3導航菜單,我想爲我的每個SiteMap節點讀取我的控制器定義的身份驗證角色.....有沒有辦法在不使用反射的情況下這樣做?MVC3 - 讀取控制器身份驗證角色

+1

您使用的是「會員」嗎? –

回答

0

實際上,你可以做到這一點在你的視圖(剃刀sintax):

@if(User.IsInRole("role_name") { 
    @* Show or not show the item depending on the user's role *@ 
} 

,如果你使用的WebFormsViewEngine代替RazorViewEngine德@只是改變<% %>

在你的控制器相同的工作,順便說一句:

public ActionResult MyAction() 
{ 
    if(User.IsInRole("role_name") 
    { } 
} 
+0

我在枚舉控制器中更感興趣....而不是檢查用戶在視圖中的角色。我希望避免使用CodePlex Sitemap提供者.....我目前正在使用Telerik MVC Extensions進行此菜單安全調整。 我希望MVC3可能現在有這個功能。 – plippard

1

您可以使用MVC SiteMap Provider生成您的菜單。它基於AuthrizeAttribute建立了安全修整。你可以很容易地擴展它。

+0

+1這正是我想要的,但沒有哪裏有文檔可以找到這個,謝謝你爲我省了頭痛! – Valchris

0

我在枚舉控制器中更感興趣....而不是檢查用戶在視圖中的角色。我希望避免使用CodePlex Sitemap提供者.....我目前正在使用Telerik MVC Extensions進行此菜單安全調整。

我當時希望MVC3可能有這個功能。