2014-12-25 531 views
0

是否可以在控制級別定義授權?如果是的話,最佳做法是什麼?MVC和基於控制的授權

考慮我有輸入控制命名爲每日工資(文本框)。 userRoleOne是應該看到此字段的用戶角色,其他用戶角色不應該看到此字段。這樣做的最佳做法是什麼?

回答

0

是的,這是可能的。的HttpContext當前實例是Razor的觀點名字Context訪問,所以你可以檢查是用戶角色,或不:

@if (Context.User.IsInRole("userRoleOne")) 
{ 
    Html.TextBox("dailyWages", "") 
} 

應該不會有與ActiveDirectoryMembershipProvider和Windows身份驗證任何額外的代碼,但可能無法正常工作表單身份驗證和其他成員資格。

在最後一種情況下,您應該手動創建GenericPrincipal類的對象Application_AuthenticateRequest方法Global.asax(請參閱details)。