BI 数据级权限解决方案
这个类库的作用很简单,抛开 BI 不谈,其实他就调用了一个存储过程,把
返回结果做了一个字符串拼接,然后返回这个字符串。一般的返回结 果会是大
致如下:{[Location].[City].&[Seattle]},这表示用户在 Location 维度下只
能够看到 Seattle 的数据,其他的城市数据都看不到。当然如果是多个城市,
那就是用逗号分隔的列表,比如:{[Location].[City].& [Seattle],
[Location].[City].&[Washington]}。
如上所示,字符串拼接很简单,但是这些用户能够访问的具体数据记录在
哪呢?这就是用户在网页上设置好数据权限,记录在数据库中的字符串了。
在这里你要更清楚地话,就需要进一步了解 MDX,这不在这篇文章的讨论
范围之内。
我们首先完成了第一步,结下来就是在角色设置里调用这个
DataSecurity.dll 类库了。这个比较简单,但是繁琐,对于 Cube 中的每一个
维度都需要手动设置。这个步骤根据如下的示意图走就是了,没有什么代码工
作。