是否可以在控制级别定义授权?如果是这样,最佳做法是什么?
考虑我的输入控件名为daily wages(文本框)。 userRoleOne是一个应该看到此字段的用户角色,其他用户角色不应该看到此字段。这样做的最佳做法是什么?
答案 0 :(得分:0)
是的,这是可能的。当前HttpContext
的实例可以通过名称Context
在Razor的视图中访问,因此您可以检查是否为角色中的用户:
@if (Context.User.IsInRole("userRoleOne"))
{
Html.TextBox("dailyWages", "")
}
它应该在没有ActiveDirectoryMembershipProvider
和Windows身份验证的任何其他代码的情况下工作,但可能无法使用表单身份验证和其他成员资格。
在上一种情况下,您应该使用GenericPrincipal
Application_AuthenticateRequest
方法手动创建Global.asax
类的对象(请参阅details)。