【ITOO高校云平台】——对权限系统的理解

来源:互联网 发布:mysql当前时间转成毫秒 编辑:程序博客网 时间:2024/05/29 14:59

什么是权限?

        

        你说对于一个用户的登录限制,算不算是权限?原来的时候,我估计会说:是吧。在对权限有点理解之后,它不是。

        权限跟用户登录时没有任何关系的,但是要用到用户的数据。权限系统就是在我们请求系统的一个服务的时候,在请求之前先去验证这个用户有没有访问当前服务的权利。如果你有这个权利,你就可以访问;如果没有,那就只能呵呵了。      

        在各种系统中,任何一个操作都要进行权限的校验。如果有访问的权限,则让用户继续访问;如果没有,则终止访问。


权限系统中实体的理解

       

       在权限系统中,“用户”、“角色”、“权限(我们在ITOO中叫做资源)”是最重要的三个实体,他们之间最重要的就是实体间的关系。


       RABC(Role-BasedAccess Control ,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说就是,一个用户拥有若干角色,每一个角色呢又拥有若干权限。这样,就构成了“用户—角色—权限”的授权模型。在这种模型下,用户与角色,角色与权限之间,一般是多对多的关系。


       

       角色是什么?角色可以看做某些权限的集合。比如,在ITOO系统中,“管理员”、“一般用户”都是角色。管理员可以添加删除某些资源,也可以进行某些资源的查看,这就是管理员的权限。要给某个用户授予这些权限,不需要我们直接将权限授予给用户,只需要将“管理员”这个角色赋予给该用户即可。


      当用户的数量非常庞大的时候,我们如果需要给每个用户都分配对应的角色,可能需要耗费我们很大的精力。这时,我们可以将用户进行分组,也就是用户组的概念。每个用户组内有多个用户,我们可以直接给用户组授权。这样一来,用户组拥有的权限,用户组下的用户也会随之拥有。

 

0 0
原创粉丝点击