1、基于controller action控制权限的好处其实合起来看,controller与action即控制了一个页面的行为,如能是否查芬简砝鬃看,写入,修改权限,而我们在开发的过程中,这些方法都已完成,这样省去了像传统方式对每个页面重新控制生成的步骤。当前通过反射程序集收集所有的controller action信息,自动化收集权限控制是比较可观的。
2、基于controller action控制权限的方案权限列表通过反射自动从程序集获取,管理员(默认有最高权限)把权限分配给用户及分配权覆诈端螽限分配给角色,管理员对用户分配权限角色权限,如下图所示:用户权限列表及角色权限列表分配成形Controller与Action信息后,通过代码控制对应的控制器及方法是否有权限。
3、基于controller action控制权限信息的提取的方案有些方法不需要提取的,有些方法需要权限控制,为了让程序方便提取权限信息,我们加入特性,如果方法或控制器有此特性,即要控制的,当然为了节约代码,默认特性是false,这样,没有加特性的或者特性是false的,都不用提取!
4、基于mvc controller和action 权限管理流程图,如下图所示:
5、首先我们通过上面的分析,我们用模型来一点一点的剖析,如下图所示:从左至右,相关的模型是,权限信息列表,角色列表,用户信息列表,部门列表,菜单列表。1)、一个用户可以有多个权限,一个权限可以分配多个用户,所以是多对多的关系2)、一个角色可以有多个权限,一个权限可以分配多个角色,所以是多对多的关系3)、一个用户可以有多个角色,一个角色可以分配多个用户,所以是多对多的关系4)、一个用户可以有多个部门,一个部门可以分配多个角户,所以是多对多的关系5)、菜单列表,主要针对后台每个用户或角色不同的展示方式,以及可以自定义图片等
6、权限列表,如下图所示:
7、菜单权限列表,如下图所示:
8、角色权限列表,如下图所示:
9、用户权限列表,如下图所示:
10、主从菜单的配置,如下图所示:
11、图标的自由定制,如下图所示: