Home  >  Q&A  >  body text

javascript - 不同账号登录系统,如何实现菜单根据权限显示不同的列表

从前端开发的角度。不同账号登录系统,如何实现菜单根据权限显示不同的列表?不是简单的显示和隐藏,应该是向服务器发起请求,返回相应菜单列表。具体如何实现,请大神指点。

从前端开发的角度。

大家讲道理大家讲道理2719 days ago418

reply all(5)I'll reply

  • 天蓬老师

    天蓬老师2017-04-11 13:28:11

    用户登录-->请求-->服务器接收请求-->用户权限判断-->根据用户权限生成相应菜单数据-->返回数据-->浏览器渲染

    补充:前端只能做到显示和隐藏,或者某个菜单不渲染,不管怎么实现都需要后端配合

    reply
    0
  • 黄舟

    黄舟2017-04-11 13:28:11

    shiro安全框架扩展教程--如何动态控制页面节点元素的权限
    你需要shiro框架.

    reply
    0
  • 阿神

    阿神2017-04-11 13:28:11

    你说的是基于角色的权限访问控制?把角色和菜单关联起来就可以了。

    reply
    0
  • 黄舟

    黄舟2017-04-11 13:28:11

    1. 使用RBAC模型,自己写权限控制代码

    2. 使用一些权限框架,例如java的shiro

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 13:28:11

    当然可以, 比如你前端用的React和Redux, 那么你就可以在Store中保存一个权限的state, 这个state在用户登陆之后向服务器获取, 然后在需要权限控制的组件中获取权限state,根据里面存储的权限信息判断组件是否显示,或者在菜单列表渲染的时候判断也是一样的。
    用其他的框架也是类似的原理,在用户登陆后向服务器获取权限信息,然后在渲染菜单列表的时候判断是否显示。
    还有另一种思路, 前端不进行判断,而是在用户登陆后,返回的菜单树里保存了整个菜单的完整信息,如菜单名、点击访问的URL等等,然后用户登陆后,根据后台返回的菜单列表直接渲染,这样做的一个好处的全端和后台数据同步,修改时直接修改数据库而不用前后端同时修改。

    reply
    0
  • Cancelreply