• 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

    2》 如果是在A大V安策出配置的需要在数据源连接的配置中加入如下两个参数:
      security.enabled=true
      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

  • 相关阅读:
    正则表达式详解<一>
    multimap详讲
    map详讲<二>
    map详解<一>
    priority_queue详解
    容器适配器(一):queue
    用 input() 函数返回的数据是字符串类型
    学习python的基本了解
    学习oracle的SQL语句 练习
    oracle 练习题
  • 原文地址:https://www.cnblogs.com/DFX339/p/10318098.html
Copyright © 2020-2023  润新知