我试图找出一种基于角色限制用户权限的有效方法。我正在使用ASP.NET WebMethod
来通过jQuery AJAX传递数据。我使用自定义角色提供程序将用户的角色存储在ASP加密的cookie中。我可以使用
HttpContext.Current.User.IsInRole("rolename")
对于我的大多数请求,我发回一个JSON序列化DataTable,然后在jQuery中构建HTML。基本上,我想(在构建HTML时)查明用户是否在角色中,然后禁用按钮或使字段变灰。
最初我认为我可以从主页面将角色传递给asp:Hiddenfield
,但是在我的页面标记中存储了一个明文数组
有什么建议吗?
答案 0 :(得分:2)
为什么不创建包含DataTable和权限数据的对象?
{"canEdit":"true", "canDelete":"false", "dataTable": ...}
请记住,权限 logic 应该在服务器端执行(并且应该在用户尝试执行操作时再次执行),因此仅发送客户端信息是有意义的在哪些按钮上禁用。