【问题标题】:Accessing user roles client side访问用户角色客户端
【发布时间】:2012-03-21 20:34:10
【问题描述】:

我正在尝试找出一种根据用户角色限制用户权限的有效方法。我正在使用 ASP.NET WebMethods 通过 jQuery AJAX 传递数据。我使用自定义角色提供程序将用户角色存储在 ASP 加密 cookie 中。我可以使用

访问这些角色
HttpContext.Current.User.IsInRole("rolename")

对于我的大多数请求,我发回一个 JSON 序列化的 DataTable,然后在 jQuery 中构建 HTML。基本上,我想(在构建 HTML 时)查明用户是否处于角色中,然后禁用按钮或将字段变灰。

最初我认为我可以将角色从母版页传递给asp:Hiddenfield,但它在我的页面标记中存储了一个纯文本数组

有什么建议吗?

【问题讨论】:

    标签: jquery asp.net roles webmethod


    【解决方案1】:

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

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

    请记住,权限逻辑应该在服务器端执行(并且应该在用户尝试执行操作时再次执行),因此只发送客户端信息是有意义的禁用哪些按钮。

    【讨论】:

    • 我喜欢这个答案。我有一个将 DataTable 转换为 JSON 的静态方法,如果我使用这些属性创建一个对象,它将很好地序列化。而且我只需要传回这些元素所需的角色。不错。
    猜你喜欢
    • 2019-12-08
    • 2020-09-19
    • 2020-08-25
    • 2019-06-16
    • 2017-02-17
    • 2022-11-24
    • 2018-08-20
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多