此时,除了可以通过上面的废除权限操作来处理,还可以通过授权操作来完成。废除权限操作有一个缺陷,就是数据库管理员要判断这个用户到底是否具有某个数据库对象的访问权限时,还需要去查看其所属的角色或者组中的权限设置。这会增加一定的工作量。而授权操作则可以避免这种情况。授予权限删除所授予级别伤的已经拒绝权限或者已经废除权限,而在另一级别上所拒绝权限的同一权限仍然适用。但是,虽然在另一级别上所废除的同一权限仍然适用,但他不阻止用户访问该对象。也就是说,如果Sales角色可以访问表Customs,现在数据库管理员授予了用户Landy访问Customs表的权限,则用户最终具有访问表Customs的权限。但是,如果Sales角色显示的拒绝了表Customs的查询权限,此时即使显示的授予用户Landy表Customs的访问权限,则该用户仍然不能够访问表Customs。因为拒绝权限总是被优先执行。所以说,用户最终得到的是对象上所授予、拒绝或者废除权限的全部权限的并集。其中,拒绝权限具有最优先的权利。 通过拒绝、废除、授权等权限操作,可以减少因为权限继承所导致的权限冲突。最后,笔者建议,在高级别的权限设置上,如组或者角色上,最好不要轻易使用拒绝权限。拒绝权限因为具有最优先的执行权力,所以一般在用户级别上采用即可。若在组或者角色上采用拒绝权限,则在用户上所采取的废除权限或者授予权限操作都将不能够其作用。为此,为了提高权限管理的灵活性,笔者认为拒绝权限在用户级别上实施比较合理,可以提高权限管理的灵活性。 (责任编辑:admin) |