MVC和基于控制的授权
问题描述:
是否可以在控制级别定义授权?如果是的话,最佳做法是什么?MVC和基于控制的授权
考虑我有输入控制命名为每日工资(文本框)。 userRoleOne是应该看到此字段的用户角色,其他用户角色不应该看到此字段。这样做的最佳做法是什么?
答
是的,这是可能的。的HttpContext
当前实例是Razor的观点名字Context
访问,所以你可以检查是用户角色,或不:
@if (Context.User.IsInRole("userRoleOne"))
{
Html.TextBox("dailyWages", "")
}
应该不会有与ActiveDirectoryMembershipProvider
和Windows身份验证任何额外的代码,但可能无法正常工作表单身份验证和其他成员资格。
在最后一种情况下,您应该手动创建GenericPrincipal
类的对象Application_AuthenticateRequest
方法Global.asax
(请参阅details)。