2013-08-06 36 views
0

有沒有辦法使用AuthorizeAttribute來限制用戶類型的訪問?我有一個管理員登錄和一個實習生登錄。AuthorizeAttribute MVC,基於用戶類型受到限制?

截至目前,這兩個登錄名都會顯示我的管理頁面上的所有選項卡。我想要的是限制實習生登錄看到的標籤數量。

我可以使用AuthorizeAttribute來做到這一點嗎?請指教。

非常感謝

回答

1

AuthorizeAttribute置於控制器或動作方法,以防止他們對取消授權的個人執行。

在你的情況下,你想要做的是防止根據用戶類型顯示菜單。

爲此,您可以使用角色來確定每個用戶擁有的權限。

然後在視圖上,您​​將使用User.IsInRole("roleName")來確定它們是否在角色中,並相應地採取行動。

舉例來說,這裏是你怎麼會只顯示「管理用戶」菜單項,管理員:

@if(User.IsInRole("Admin")) 
{ 
    <li><a href="/admin/users">Manage Users</a> 
} 

此外,在Users操作方法,你將與AuthorizeAttribute裝飾它,以防止用戶不在「管理員」角色中訪問該頁面。

[Authorize(Roles("Admin"))] 
public ActionResult Users() 
{ 
    //... 
} 
+0

讓我試試看,看看它是否有效。非常感謝 – doglin