将权限传播给Javascript

我正在讨论将相当复杂的权限从服务器传播到AJAX应用程序的最佳方式,而且我不确定采取的最佳方法。

实质上,我希望我的权限得到定义,这样我就可以一次性请求整套权限,并根据需要调整UI(UI更改可以与禁用某些上下文菜单项一样低级别)。 当然,我仍然需要强制执行权限服务器端。

所以,我想知道如果有人有任何建议,以最好的方式

  • 维护权限并在服务器代码中使用它们
  • 可以轻松访问javascript中的权限
  • 不必为每个单独的权限向服务器做出往返请求
  • 思考?


    如果您拥有一组明确的权限,例如“用户级别”或“用户类型”,则只需将该值传递给隐藏字段并通过DOM访问该值即可。 如果您的权限更精细,您仍然可以执行此操作,但是您要么有很多隐藏字段,要么必须将信息编码为XML或JSON或其他格式。

    您可以将它们设置为位标记,以便您可以使用掩码或单个数字值来查看用户是否具有特定活动的权限。 这将是非常灵活的,只要你没有超过32个左右的特定“权利”,这将允许在一个非常小的包(基本上是一个无符号整数)的任何排列这些权利。

    例如:

    0x00000001 //edit permission
    0x00000002 //create new thing permission
    0x00000004 //delete things permission
    0x00000008 //view hidden things permission
       .
       .
       .
    0x80000000 //total control of the server and everyone logged in
    

    然后, 0x000007权限的用户可以编辑,创建和删除,但没有别的。

    在任何一种情况下,我都觉得你在正确的轨道上 - 每页调用一次请求,将权限存储在全局JavaScript数据结构中,然后从那里开始。 AJAX很好,但你不想在整个页面上查询服务器的每个特定权限。 您可以在页面加载时执行一次,设置页面的表示并将值保存在全局变量中,然后在本地为事件功能引用权限。


    如果您将权限结构作为JSON对象(或XML,如果您愿意)传输给客户端,则可以使用客户端代码处理该对象,然后将其发送回服务器,该服务器可以执行任何需要验证的操作数据并坚持它。


    我不一定认为它是最“正确”的解决方案,但是可以将所有权限保留在服务器端,并且只提供更新的UI而不是某种JSON权限系统?

    您必须根据您的应用程序的预期繁忙程度和密集程度来作出决定,但无论如何这绝对是值得的决定

    链接地址: http://www.djcxy.com/p/41935.html

    上一篇: Propagate Permissions to Javascript

    下一篇: Sharepoint Web Services Tutorial