前面已经了解了很多授予系统权限,对象权限,角色的例子,下面我们来重点分析WITH ADMIN OPTION和WITH GRANT OPTION还有REVOKE。
WITH ADMIN OPTION主要是用来授予用户、角色系统权限和角色时允许被授予者授予其他人此权限,REVOKE后,级联权限不会回收。WITH GRANT OPTION主要是用来授予用户、角色对象权限时,允许被授予者授予其他人此权限,REVOKE后级联权限会回收。简单的讲,WITH ADMIN OPTION是用作系统权限和角色,WITH GRANT OPTION是用作对象权限。下面列举几个问题并测试结果,来了解授权与回收的关系,并进一步了解什么是角色。
问题1:授予角色(仅包含系统权限)WITH ADMIN OPTION给用户时,用户再授权给其他人,回收角色能否回收级联角色?


答案是不会级联回收。
问题2. 授予角色(仅包含对象权限)WITH ADMIN OPTION给用户时,用户再授权给其他人,回收角色能否回收级联角色?
把第三用户的查询权限分配role_scott3角色,然后把此角色分配给scott

用scott用户把role_scott3角色分配给scott1

回收权限

答案是不会级联回收
问题3. 授予用户对象权限WITH GRANT OPION,用户再授权此权限给角色,回收权限能否回收级联权限?
查找用户和角色的权限

给用户授权后登陆用户

使用scott用户给角色授权

然后使用有回收权限的用户回收scott用户的对象权限


答案是会级联回收
问题4.把系统权限、对象权限、角色1授权给角色2,然后把角色2授权给用户,分别回收角色2的系统权限、对象权限、角色1,会发生什么?
分配权限、角色给角色,分配角色给用户

查看用户拥有的权限

其实从这里就可以推断出,回收角色所属权限、角色,其实可以理解为不回收级联权限,只是因为用户、角色属于此角色,所以用户、角色的权限会减少,这是从属关系,不能称之为权限级联。
级联权限和回收的总结:
1.WITH ADMIN OPTION 和WITH GRANT OPTION 都是用作级联授权的
2.WITH ADMIN OPTION用来级联系统权限和角色,使被授权者(用户)能够授权系统权限和角色给其他用户和角色
3.WITH GRANT OPTION用来级联对象权限,使被授权者(用户)能够授权对象权限给其他用户和角色
3.因为角色不是用户,不能主动给其他用户授权,所以在给角色授权时,不能加WITH ADMIN OPTION和WITH GRANT OPTION
4.回收权限时,不回收WITH ADMIN OPTION权限,要回收WITH GRANT OPTION
5.回收角色下的权限或用户时,直接影响拥有此角色的用户和角色,但这最好不要称之为级联来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31461640/viewspace-2140594/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31461640/viewspace-2140594/
本文通过实践探讨了在数据库中WITH ADMIN OPTION和WITH GRANT OPTION在权限授予和回收时的区别。WITH ADMIN用于系统权限和角色,允许被授予者再次授予,而在回收时不级联;WITH GRANT则用于对象权限,允许被授予者授予他人,回收时会级联回收。文章通过四个问题和测试展示了权限的级联关系以及角色的权限管理。

6789

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



