Saiku权限控制(四)
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
security.type=one2one
<!--配置权限-->
<Role name="ROLE_READ"><!-- ROLE_READ访问Cube:测试数据量1w, NB,NB2 -->
<SchemaGrant access='none'>
<CubeGrant cube='测试数据量1w' access='all' />
<CubeGrant cube='NB' access='all' />
<CubeGrant cube='NB2' access='all' />
<CubeGrant cube='Summary' access='all' />
</SchemaGrant>
</Role> <Role name="ROLE_USER"><!--ROLE_USER不能访问 -->
<SchemaGrant access='none' />
</Role> <Role name="ROLE_ADMIN"><!--ROLE_ADMIN访问所有 -->
<SchemaGrant access='all' />
</Role>
admin用户登录的效果图:(能看到所有的数据源信息) 角色:ROLE_ADMIN
report用户登录的效果图: 只能看到指定的cube数据源信息 角色:ROLE_READ
Saiku权限控制(四)的更多相关文章
- Laravel 5.1 ACL权限控制 四 之middleware
1.创建Middleware php artisan make:middleware MustBeAnAdmin 2.实现 MustBeAnAdmin.php中的handle方法,判断登录的用户是否为 ...
- shiro权限控制入门
一:权限控制两种主要方式 粗粒度 URL 级别权限控制和细粒度方法级别权限控制 1.粗粒度 URL 级别权限控制 可以基于 Filter 实现在数据库中存放 用户.权限.访问 URL 对应关系, 当前 ...
- Java基础之访问权限控制
Java基础之访问权限控制 四种访问权限 Java中类与成员的访问权限共有四种,其中三种有访问权限修饰词:public,protected,private. Public:权限最大,允许所有类访问,但 ...
- 认证鉴权与API权限控制在微服务架构中的设计与实现(四)
引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完.本文比较长,对这个系列进行收尾,主要内容包括 ...
- webapi框架搭建-安全机制(四)-可配置的基于角色的权限控制
webapi框架搭建系列博客 在上一篇的webapi框架搭建-安全机制(三)-简单的基于角色的权限控制,某个角色拥有哪些接口的权限是用硬编码的方式写在接口上的,如RBAuthorize(Roles = ...
- 项目一:第十二天 1、常见权限控制方式 2、基于shiro提供url拦截方式验证权限 3、在realm中授权 5、总结验证权限方式(四种) 6、用户注销7、基于treegrid实现菜单展示
1 课程计划 1. 常见权限控制方式 2. 基于shiro提供url拦截方式验证权限 3. 在realm中授权 4. 基于shiro提供注解方式验证权限 5. 总结验证权限方式(四种) 6. 用户注销 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十四):权限控制(Shiro 注解)
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和 ...
- (二十四)权限控制(粗粒度)-通过filter
扩展:权限控制(粗粒度)-通过filter 过滤器编写步骤: 1.编写一个类 实现filter接口 重写方法 2.编写配置文件 <filter> <filter-mapping> ...
- MongoDB 安全和访问权限控制
MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...
随机推荐
- js常见知识点1.ajax相关
一. javascript中的typeof返回哪些数据类型? 建议回复: typeof 运算符把类型信息当作字符串返回.typeof 返回值有六种可能: number, string, boolean ...
- go build 和 go install
环境:Win10 + GO1.9.2 1.区别 ①go build:编译go源码生成一个可执行文件:使用-o参数可以指定生成的可执行文件名称,如go build -o test.exe ②go ins ...
- Codefroces 958C2 - Encryption (medium)
C2 - Encryption (medium) 思路: 传统的dp: dp[i][j] 表示到第i个位置为止,分成j段的最大值 dp[i][j] = max(dp[l][j-1] + (sum[i] ...
- Codeforces 961E - Tufurama
961E - Tufurama 思路: 线段树或者分块 遍历 1 - n - 1,求 区间[i + 1, min(a[i], n)]大于等于 i 的个数,累加起来 线段树: #include<b ...
- 使用spss做方差分析
还记得上学那会老师专门敲了黑板,强调方差分析很重要..单因素方差分析(Analysis of Variance, ANOVA),如果变量多,就是多因素方差分析,还需要考虑到多重共线性, 也就是线性代数 ...
- pythoncook 文件和io
1.文件不存在,则写入:文件存在则,报错 try: with open('file','x') as f: f.write() except FileExistsError: print('file ...
- 6.4 操作契约 Operation Contracts
4.操作契约 Operation Contracts “用例描述”的补充 强调: 用例中重要的动作,其开始与结束是需要一些约束 4.5 操作契约的后置条件 定义Definition 后 ...
- git 提交代码场景
1.首次提交代码到master git init git add . git commit -m '' git remote add origin +address git push -u origi ...
- [pat]数素数
时间限制:1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 令Pi表示第i个素数.现任给两个正整数M <= N < ...
- 第二类Stirling数
第二类斯特林数 第二类Stirling数:S2(p, k) 1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数 2.递推公式: S2(0, 0) = 1 S2(p, ...