对于MSSQL server 2008 R2,如何设置回退权限?
在我的数据库中,我有n个用户角色和m个模式,其中每个角色只能访问一些m模式(假设为简单,角色不是模式的所有者)。
我已经明白了这个' public'是无法撤消的默认角色。此外,拒绝公开'公众'不能在较低的水平上撤销,一个' pulic'否决任何对比的GRANT权限。
因此,公众作为一个后退角色并不是非常有用,其中拒绝应该是集合,例如默认情况下,应拒绝用户SELECT。如果我是对的,这意味着我必须为n个角色和m个模式中的每一个显式设置权限。添加新架构需要为每个角色定义新架构的权限(n次必须重复相同的权限定义)。
所以我的问题是:有没有办法定义用户可以拥有的后备角色(包括否定),不需要明确地分配给角色(类似于' public')如果没有指定权利会变得相关吗?
在上面的例子中,这可能意味着:如果没有另外指定,默认情况下拒绝所有模式上的SELECT。当我创建新模式时,除非明确授予权限,否则现有n个用户无权访问。仅在一个角色中明确授予权限并离开其他角色。