Saiku的权限控制主要包含两方面的权限: 数据源(Cube)权限控制 和 保存好的文件以及目录权限控制

一、新增Saiku用户信息与角色信息

Saiku默认的用户就是admin,这也是权限最高的一个用户,admin用户的角色是 ROLE_ADMIN

admin用户可以查看到其他用户的文件目录信息,能新增用户,新增角色,也只有admin能操作管理控制平台.

1.1  Saiku新增用户

 1> 登录saiku后,点击 A 进入管理控制台

 2> 进入用户管理栏位  User Management

 3> 添加用户信息 Add User

 4>  依次填写右侧的 用户名 邮件地址 密码信息  (这里创建report用户)

1.2 Saiku 新增角色

5> 添加角色信息 Add new role (Saiku默认有两个角色  ROLE_ADMIN / ROLE_USER ,如果你在创建用户的时候不指定角色 系统会默认为你指定 ROLE_USER角色)

 6> 添加自定义角色信息  如果你不想使用系统角色也可以自己直接新建角色信息,在 Add new role 栏位输入新的角色信息(名字自定) ROLE_READ 然后点击 Add Role,该角色就会出现在Existing role框框中

 7> 移除角色信息 如果添加了不需要的角色信息 可以在Existing role框中点击那个角色,然后点击下方的 Remove Selected one 按钮,就可以把角色信息移除了

 8> 保存用户信息  用户基本信息都填写好后 点击 save user ,保存用户信息。

二、文件以及目录权限控制

以管理员的身份 admin用户登录系统,进入文件目录

1> 打开Reporitory(存储文件信息的仓库)

2> 进入datasources目录 (用于保存配置好的报表数据的文件目录) 

3> 点击右侧的 人物标识图标 ,点击后弹出右侧框框 【如果不选择具体的文件则是对datasources目录做权限控制,如果选中了具体文件再点击右侧 人物标识图标 则是对具体文件做权限控制】

4> 添加角色信息 输入角色名称 ROLE_READ (这里的角色信息需在UserManager已经添加或者系统已经存在的角色信息)

5> 选定角色权限 读、写、同意,  读(意思是指定角色能读取此目录的信息,能写数据进入当前目录或者修改数据,能修改目录的权限信息)

6> 点击添加按钮,就会在角色框看到刚刚添加的角色信息

7> 再点击下方的 OK 按钮,则添加成功。

8> 可退出系统,重新启动saiku服务器,登录拥有指定权限角色的用户信息,然后就能进行验证。 report用户登录,就会发现report用户登录后只能看到datasources目录,但是无法做修改或新增数据信息。

注意: Admin用户能看到所有用户的目录信息

三、 MDX数据源权限控制

系统自带的角色信息:  ROLE_ADMIN ROLE_USER,自己新增的角色: ROLE_READ

在XML文件中新增角色配置信息,记得在xml文件的最下方添加哦 [<Schame>标签以内,所以<Cube>标签的下方]

本例中在 配置datasources数据源信息时引用的xml文件为report.xml ,故在report.xml文件中添加如下配置

ps: 修改report.xml文件后记得在saiku上替换report.xml文件,然后退出 saiku 重新登录,记得清除浏览器的缓存信息!!!

最后请记得配置:

1》 如果不是Advance里面进行配置数据源的话就在配置datasources最后 security 处选择: One To One Mapping

2》 如果是在A大V安策出配置的需要在数据源连接的配置中加入如下两个参数:
  security.enabled=true
  security.type=one2one
 
  1.     <!--配置权限-->
  2. <Role name="ROLE_READ"><!-- ROLE_READ访问Cube:测试数据量1w, NB,NB2 -->
  3. <SchemaGrant access='none'>
  4. <CubeGrant cube='测试数据量1w' access='all' />
  5. <CubeGrant cube='NB' access='all' />
  6. <CubeGrant cube='NB2' access='all' />
  7. <CubeGrant cube='Summary' access='all' />
  8. </SchemaGrant>
  9. </Role>
  10.  
  11. <Role name="ROLE_USER"><!--ROLE_USER不能访问 -->
  12. <SchemaGrant access='none' />
  13. </Role>
  14.  
  15. <Role name="ROLE_ADMIN"><!--ROLE_ADMIN访问所有 -->
  16. <SchemaGrant access='all' />
  17. </Role>

 

admin用户登录的效果图:(能看到所有的数据源信息) 角色:ROLE_ADMIN

report用户登录的效果图: 只能看到指定的cube数据源信息 角色:ROLE_READ

Saiku权限控制(四)的更多相关文章

  1. Laravel 5.1 ACL权限控制 四 之middleware

    1.创建Middleware php artisan make:middleware MustBeAnAdmin 2.实现 MustBeAnAdmin.php中的handle方法,判断登录的用户是否为 ...

  2. shiro权限控制入门

    一:权限控制两种主要方式 粗粒度 URL 级别权限控制和细粒度方法级别权限控制 1.粗粒度 URL 级别权限控制 可以基于 Filter 实现在数据库中存放 用户.权限.访问 URL 对应关系, 当前 ...

  3. Java基础之访问权限控制

    Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但 ...

  4. 认证鉴权与API权限控制在微服务架构中的设计与实现(四)

    引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完.本文比较长,对这个系列进行收尾,主要内容包括 ...

  5. webapi框架搭建-安全机制(四)-可配置的基于角色的权限控制

    webapi框架搭建系列博客 在上一篇的webapi框架搭建-安全机制(三)-简单的基于角色的权限控制,某个角色拥有哪些接口的权限是用硬编码的方式写在接口上的,如RBAuthorize(Roles = ...

  6. 项目一:第十二天 1、常见权限控制方式 2、基于shiro提供url拦截方式验证权限 3、在realm中授权 5、总结验证权限方式(四种) 6、用户注销7、基于treegrid实现菜单展示

    1 课程计划 1. 常见权限控制方式 2. 基于shiro提供url拦截方式验证权限 3. 在realm中授权 4. 基于shiro提供注解方式验证权限 5. 总结验证权限方式(四种) 6. 用户注销 ...

  7. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十四):权限控制(Shiro 注解)

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和 ...

  8. (二十四)权限控制(粗粒度)-通过filter

    扩展:权限控制(粗粒度)-通过filter 过滤器编写步骤: 1.编写一个类 实现filter接口 重写方法 2.编写配置文件 <filter> <filter-mapping> ...

  9. MongoDB 安全和访问权限控制

    MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...

随机推荐

  1. Codeforces 1053 C - Putting Boxes Together

    C - Putting Boxes Together 思路: 求带权中位数 用树状数组维护修改 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) ...

  2. Codeforces 374C - Inna and Dima

    374C - Inna and Dima 思路:dfs+记忆化搜索 代码: #include<bits/stdc++.h> using namespace std; #define ll ...

  3. Unity中sharedMaterials 和 materials

    sharedMaterials 和 materials: 这两个属性用法是一样的,但是从效率上来说最好用sharedMaterial,它是共享材质,无论如何操作材质的属性(如更换颜色或者更换shade ...

  4. a gcc 4.2.4 bug(被stos指令累加后%edi作为参数的)

    a gcc 4.2.4 bug(被stos指令累加后%edi作为参数的) * * Ok, now we can initialize the rest of the tty devices and c ...

  5. hadoop ssh 端口-ssh-copy-id详解

    ssh-copy-id详解 http://www.blogdaren.com/post-1815.html 服务器时常需要配置无密码的登录方式,最一般的设置方式如下: 使用ssh-keygen和ssh ...

  6. vue 基础(一)

    一 vue.js的M-V-VM思想 MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式. 1.Model指代的就是vue对象的data属性里面的数据.这里的数 ...

  7. php绝对路径转相对路径

    /** * 绝对路径转成相对 路径 * $path相对于$base的相对路径 * @param string $base * @param string $path * 思路:去除共同部分 */ fu ...

  8. 廖雪峰网站:学习python基础知识—循环(四)

    一.循环 1.for names = ['Michal', 'Bob', 'tracy'] for name in names: print(name) sum = 0 for x in [1, 2, ...

  9. leetcode-algorithms-21 Merge Two Sorted Lists

    leetcode-algorithms-21 Merge Two Sorted Lists Merge two sorted linked lists and return it as a new l ...

  10. SpringCloud 将服务注册到Eureka Server上

    提供好服务生产者: 1.添加spring-cloud-starter-eureka依赖 <dependencyManagement> <dependencies> <de ...