84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
从前端开发的角度。不同账号登录系统,如何实现菜单根据权限显示不同的列表?不是简单的显示和隐藏,应该是向服务器发起请求,返回相应菜单列表。具体如何实现,请大神指点。
从前端开发的角度。
光阴似箭催人老,日月如移越少年。
用户登录-->请求-->服务器接收请求-->用户权限判断-->根据用户权限生成相应菜单数据-->返回数据-->浏览器渲染
补充:前端只能做到显示和隐藏,或者某个菜单不渲染,不管怎么实现都需要后端配合
shiro安全框架扩展教程--如何动态控制页面节点元素的权限你需要shiro框架.
你说的是基于角色的权限访问控制?把角色和菜单关联起来就可以了。
使用RBAC模型,自己写权限控制代码
使用一些权限框架,例如java的shiro
当然可以, 比如你前端用的React和Redux, 那么你就可以在Store中保存一个权限的state, 这个state在用户登陆之后向服务器获取, 然后在需要权限控制的组件中获取权限state,根据里面存储的权限信息判断组件是否显示,或者在菜单列表渲染的时候判断也是一样的。 用其他的框架也是类似的原理,在用户登陆后向服务器获取权限信息,然后在渲染菜单列表的时候判断是否显示。 还有另一种思路, 前端不进行判断,而是在用户登陆后,返回的菜单树里保存了整个菜单的完整信息,如菜单名、点击访问的URL等等,然后用户登陆后,根据后台返回的菜单列表直接渲染,这样做的一个好处的全端和后台数据同步,修改时直接修改数据库而不用前后端同时修改。
用户登录-->请求-->服务器接收请求-->用户权限判断-->根据用户权限生成相应菜单数据-->返回数据-->浏览器渲染
补充:前端只能做到显示和隐藏,或者某个菜单不渲染,不管怎么实现都需要后端配合
shiro安全框架扩展教程--如何动态控制页面节点元素的权限
你需要shiro框架.
你说的是基于角色的权限访问控制?把角色和菜单关联起来就可以了。
使用RBAC模型,自己写权限控制代码
使用一些权限框架,例如java的shiro
当然可以, 比如你前端用的React和Redux, 那么你就可以在Store中保存一个权限的state, 这个state在用户登陆之后向服务器获取, 然后在需要权限控制的组件中获取权限state,根据里面存储的权限信息判断组件是否显示,或者在菜单列表渲染的时候判断也是一样的。
用其他的框架也是类似的原理,在用户登陆后向服务器获取权限信息,然后在渲染菜单列表的时候判断是否显示。
还有另一种思路, 前端不进行判断,而是在用户登陆后,返回的菜单树里保存了整个菜单的完整信息,如菜单名、点击访问的URL等等,然后用户登陆后,根据后台返回的菜单列表直接渲染,这样做的一个好处的全端和后台数据同步,修改时直接修改数据库而不用前后端同时修改。