在ASP.NET中,执行以下操作的最佳方法是:
根据您的权利显示某些控件?
对于gridview控件,如何根据您的角色显示某些列?
我想2号,数据来自数据库的角色特定视图.
我建议不要使用角色来隐藏/显示某些控件,而是建议为每个角色设置另一层权限,并根据这些角色显示/隐藏.
这样,您可以重新定义角色拥有的权限,而不必更改代码.
此外,这允许您在将来创建新角色,并为角色分配一组权限.
至于控件,是的......我只是根据user.IsInRole("permissionname")值在控件上设置Visible属性.
对于网格,我会这样做...将列的可见性设置为IsInRole布尔值.
//Delete Icon Column gridViewContacts.Columns[0].Visible = user.IsInRole("DeleteAnyContact");
我会以非常精细的方式创建您的权限..例如
ViewAnyContact
ViewOwnContact
EditOwnContact
EditAnyContact
AddAnyContact
DeleteOwnContact
DeleteAnyContact
等等...