WEB开发网
开发学院数据库MSSQL Server BI数据级权限解决方案 阅读

BI数据级权限解决方案

 2008-08-28 09:57:12 来源:WEB开发网   
核心提示: 所有的设置界面都是Sharepoint Webpart(请参见相关内容) Webpart中的ajax(这个要单独拿出来说,是因为这个部分比较麻烦),BI数据级权限解决方案(5),需要用到ajax的原因就是Cube的结构是很大的,如果一次性读出来,毕竟对用户来说,他们需要一个简单易用的结果,

所有的设置界面都是Sharepoint Webpart(请参见相关内容)

Webpart中的ajax(这个要单独拿出来说,是因为这个部分比较麻烦),需要用到ajax的原因就是Cube的结构是很大的,如果一次性读出来,肯定是等到花儿也谢了,相信没有人会用他。

后台可以控制哪些维度需要设置数据权限(有些维度不需要设置数据权限,那么就不让他在ajax树中展示出来了)

有自定义的角色,这个角色不同于刚才讲的Cube中的角色。这是用户自己定义的数据权限角色,刚才的角色只需要那一个就足够了。

有了角色自然有搜索、设置用户、设置角色的数据权限、编辑、删除

这个都可以根据你的需要进行设计,不一定要完全相同,就比如我用了ajax树来展示Cube结构,但是你可以采用别的方式。

下面我们就进入下一个重要话题,就是读取Cube的结构(其实在读取这个结构本身,前面的数据权限就已经开始起作用了,没有权限访问的数据不会出现在ajax树中)。

设置数据权限时,如何读取Cube结构

读取Cube的结构,微软已经提供了一套非常丰富的类库给我们。这里就简单介绍下,如果你在具体实现过程中遇到了问题,相信上Google是一个最好的办法。

下面我们介绍读取Cube结构的具体内容,首先就是连上你的Cube。这主要通过如下语句完成。

AdomdConnection adomdConnection = new AdomdConnection();
adomdConnection.ConnectionString = “Data Source=localhost;Catalog=MyCube;”;
  
adomdConnection.Open();
  
// 这里读取具体的Cube结构
  
adomdConnection.Close();
adomdConnection.Dispose();

在连上Cube之后,通过adomdConnection可以读取整个Cube了。主要涉及到如下内容:

Cube:CubeDef cube = adomdConnection.Cubes[“MyCubeName”];

Dimension:cube.Dimensions,这里面是所有的Dimension。

Hierarchy:dimension.Hierarchies,所有的层次

Member:hierarchy.Levels[0].GetMembers(),所有成员

通过以上几个内容就可以把整个Cube的结构完全展现出来,有了他们,就看你怎么展示你的Cube数据了。当然了,首先我们不能忘了添加一个引用:

Microsoft.AnalysisServices.AdomdClient

结束语

到这里为止,我介绍了BI数据权限解决方案中涉及到的最重要的内容,基于这些内容,你可以实现自己的BI数据权限解决方案,并且把它应用到你的项目中去,从而给你的项目添上亮点。

当然了,实现整个解决方案还是需要花费很多时间的,毕竟对用户来说,他们需要一个简单易用的结果。这些友好的界面工作都需要留给你来做。

上一页  1 2 3 4 5 

Tags:BI 数据 权限

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接