Mondrian利用在Schema中的设置角色来实现行级权限控制数据

前言:之前有一篇专门描述Saiku如何利用schema中的角色控制来达到行级权限控制操作。

https://blog.csdn.net/Joe192/article/details/100043346

在这篇主要更深入的描述Mondrian中是如何利用schema中的角色结合saiku来实现行级权限操作。

首先得了解schema行级权限,角色涉及的标签属性

Role--》角色标签

SchemaGrant--》schema授权标签 SchemaGrant access: all, none, and all_dimensions

CubeGrant--》cube授权标签  cube grant access: all or none

HierarchyGrant--》Hierarchy授权标签 access: all, none, and custom

MemberGrant--》Member授权标签  access: all and none.

DimensionGrant--》Dimension标签授权 access: all or none


    
        
        
            
                
                    
                    
                    
                    
                    
                    
                    
                

				
            
        
        
            
                
                    
                
                
                    
                
            
        
    
        
            
                
				
				
				
					
                    
               
            
        
    

A、通过行级权限控制维度值

这行代码,hierarchy='[ts]'指层级name='ts'的,access='custom'自定义,topLevel='[ts].[country]' bottomLevel="[ts].[city]"

范围访问的维度。

使用层级授权必须创建层级才能达到行级权限控制,否则不起作用。

B、如果不想使用层级却想达到和层级一样控制维度咋办了,只要通过两步设置就能搞定。

第一步:Attribute的hasHierarchy属性必须为true

第二步:直接使用维表的name,t_tests.city,city为Attribute的name属性,范围属性topLeve和bottomLevel就不起作用了


         
         
 

C、通过行级权限控制度量,如何实现


         

这块直接就不显该度量。

D、如果控制整个维度的行级权限,直接使用DimensionGrant

其中dimension="[t_tests]",t_tests就是维表的name属性。

你可能感兴趣的:(schema)