Maison > Questions et réponses > le corps du texte
从前端开发的角度。不同账号登录系统,如何实现菜单根据权限显示不同的列表?不是简单的显示和隐藏,应该是向服务器发起请求,返回相应菜单列表。具体如何实现,请大神指点。
从前端开发的角度。
天蓬老师2017-04-11 13:28:11
用户登录-->请求-->服务器接收请求-->用户权限判断-->根据用户权限生成相应菜单数据-->返回数据-->浏览器渲染
补充:前端只能做到显示和隐藏,或者某个菜单不渲染,不管怎么实现都需要后端配合
PHP中文网2017-04-11 13:28:11
当然可以, 比如你前端用的React和Redux, 那么你就可以在Store中保存一个权限的state, 这个state在用户登陆之后向服务器获取, 然后在需要权限控制的组件中获取权限state,根据里面存储的权限信息判断组件是否显示,或者在菜单列表渲染的时候判断也是一样的。
用其他的框架也是类似的原理,在用户登陆后向服务器获取权限信息,然后在渲染菜单列表的时候判断是否显示。
还有另一种思路, 前端不进行判断,而是在用户登陆后,返回的菜单树里保存了整个菜单的完整信息,如菜单名、点击访问的URL等等,然后用户登陆后,根据后台返回的菜单列表直接渲染,这样做的一个好处的全端和后台数据同步,修改时直接修改数据库而不用前后端同时修改。