1. 什么是权限??
l 很多人理解的权限就是用户的登录限制,但事实上权限可能涉及到的远不止如此而已,权限就是在请求我们系统的一个服务(请求地址,请求方法,请求Action,请求WebService等)的时候,当在请求之前的时候我们先要去校验你这个用户有没有访问当前这个请求的权力,如果你有这个权力的话,我们就让你访问,否则你访问不了这个请求。
2. 基于角色的设计
权限里面最重要的实体也就只有三个(用户,角色,操作),他们之间最重要的也就是实体的关系,如果我们把他们三个之间的关系弄清楚了,权限这个模块你基本就算搞定了。
(一个人可以有多个角色,一个角色可以被多个人拥有),怎么来体现是多对多的关系呢,我们只能加一个中间的关联表。那么表结构如下:
这种设计方案的缺点就是权限控制力度小,如果时间长的话中间表会变得很庞大,很冗余,权限控制不精确。
3. 基于操作的设计
(1)什么是操作的设计呢?就是把我们系统里面的每一个动作都抽象出来抽象成一个操作(Action)

本文探讨了ASP.NET MVC程序中的权限控制解决方案,从基于角色、操作到角色-操作的设计,逐步深入,并提出结合角色与特殊用户权限的复杂权限管理机制,以适应不同规模系统的需求。
最低0.47元/天 解锁文章
408

被折叠的 条评论
为什么被折叠?



