项目的权限设计的小计

标准的5表结构,加上系统(系统中限制按钮,与渠道相连。就是一个后台可以管理多个系统)。

menu(按钮)是一个权限最直接表现。menu中包含系统id,url,parentsId等属性。可以知道我们是通过menu达到控制的

role(角色)

role_menu_info

operator(操作员)

operator_menu_info

menu,role,operator都具有systemId的属性,系统合渠道等在登陆时的controller就会分配或者其他。

操作员和角色都和menu有间接关系。就是权限受到操作员和角色的共同管理。

如果我们需要新增一个菜单的时候,我们还有给登陆的角色赋值权限和对应的操作员赋予权限才能在表现层中进入。

 

那个树菜单的勾选权限赋值的功能看起来很复杂,但是其实不难。

首先角色的权限赋值。一个树的结构,用一个前端口js,tree可以实现。我使用的是b-jui。

页面类似这个样子,每一个菜单前加一个复选框,勾选了表示给该角色该权限。也就是增加一条role_menu记录,当然stats设置为true。

已有的权限和没有的权限都要展示。就是查询出两个list,一个是角色已有该系统权限的menu的list,一个是系统所有menu的list,首先显示所有的menu的list形成树,然后每个叉加一个复选框,如果menu的meunId等于角色角色拥有的menuId,则选中该复选框。

就是权限的赋值实际上市多个insert操作。

操作员权限的赋值也差不多。

 

其实登陆那一块有点复杂。

posted @ 2016-12-11 11:04  guodaxia  阅读(185)  评论(0编辑  收藏  举报