2012-03-21 146 views
1

我想找出一个有效的方式来限制用户的权限,根据他们的角色。我正在使用ASP.NET WebMethod s通过jQuery AJAX传递数据。我使用一个自定义角色提供程序将用户的角色存储在ASP加密的Cookie中。我可以用访问用户角色客户端

HttpContext.Current.User.IsInRole("rolename") 

对于大多数我的要求访问这些角色,我发回一个JSON序列化的数据表,然后构建jQuery中的HTML。基本上,我想(在构建HTML时)确定用户是否在某个角色中,然后禁用某个按钮或使某个字段变灰。

本来我以为我可以通过角色从母版页的asp:Hiddenfield,但在我的网页标记

任何建议存储明文阵列?

回答

1

为什么不创建一个同时包含DataTable和权限数据的对象?

{"canEdit":"true", "canDelete":"false", "dataTable": ...} 

记住许可逻辑应执行服务器端(当用户试图执行操作应重新进行),所以是有意义的只在发送客户端信息要禁用哪些按钮。

+0

我喜欢这个答案。我有一个将DataTable转换为JSON的静态方法,如果我用这些属性创建对象,它将很好地序列化。我只需要回传这些元素所需的角色。尼斯。 – tedski 2012-03-21 20:49:52