Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SSAS多维数据库中检查登录用户名并设置动态角色_Ssas - Fatal编程技术网

如何在SSAS多维数据库中检查登录用户名并设置动态角色

如何在SSAS多维数据库中检查登录用户名并设置动态角色,ssas,Ssas,我有一个包含我们的业务仓库ID的维度,并且我在Active Directory中创建了与您在下面看到的名称相同的用户(1001、1002、1003、1004…) 昏暗的仓库 ID 1001 1002 1003 1004 . . . 我的问题是,如何可能每个“用户名”只访问其仓库ID?权限由以下因素驱动 您可能需要创建多个角色,并为每个角色分配用户 然后,为每个角色定义该角色可以访问的维度属性

我有一个包含我们的业务仓库ID的维度,并且我在Active Directory中创建了与您在下面看到的名称相同的用户(1001、1002、1003、1004…)

昏暗的仓库

  ID
       1001
       1002
       1003
       1004
       .
       .
       .

我的问题是,如何可能每个“用户名”只访问其仓库ID?

权限由以下因素驱动

您可能需要创建多个角色,并为每个角色分配用户

然后,为每个角色定义该角色可以访问的维度属性


有两种方法可以限制用户访问多维数据集的某些部分:

  • 定义“静态安全性”:在多维数据集中为每组权限定义一个角色(如果我正确理解您的要求,这意味着每个用户一个角色),然后将Active Directory用户或用户组映射到这些角色。如果您有许多用户和许多权限角色,那么这可能或多或少会变得难以管理。然而,有时也可以使用广告用户组来实现这一目的,这会大大减少工作量。我实施了这样一个解决方案,我们需要根据他们的国家限制用户访问,并且只有大约50个国家,这些国家已经存在广告用户组
  • 您可以使用“动态安全性”。这意味着您只能使用单个角色并编写一个MDX表达式,该表达式最有可能使用MDX函数,并返回一个有效的MDX集,该MDX集是一组允许的成员或一组禁止的成员。由于您的MDX语句甚至可以调用在.net中实现的As存储过程,因此您的灵活性甚至更高,因为这个.net存储过程可以实现。G请与您的广告联系以检查该用户的其他属性
在这两种情况下,您都需要在“SQL Server数据工具-商业智能”或SQL Server Management Studio中管理多维数据集设计的“维度安全性”中的设置,并且需要相应地设计多维数据集,以便从您限制的维度到您的数据具有正确的关系


有关使用动态安全设置安全的详细(如果有点旧)博客文章,请访问。

如果其中一个答案解决了您的问题,您应该单击旁边的复选标记将其标记为正确答案。