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=truesecurity.type=one2one
<!--配置權限--> <Role name="ROLE_READ"><!-- ROLE_READ訪問Cube:測試數據量1w, NB_監測指標1_新單清潔單從登記到待發出保單rs_nbjc_1_1,NB_監測指標1_新單所有待發出保單rs_nbjc_1_2 --> <SchemaGrant access=‘none‘> <CubeGrant cube=‘測試數據量1w‘ access=‘all‘ /> <CubeGrant cube=‘NB_監測指標1_新單清潔單從登記到待發出保單rs_nbjc_1_1‘ access=‘all‘ /> <CubeGrant cube=‘NB_監測指標1_新單所有待發出保單rs_nbjc_1_2‘ access=‘all‘ /> <CubeGrant cube=‘SummaryKpi匯總數據‘ access=‘all‘ /> </SchemaGrant> </Role> <Role name="ROLE_USER"><!--ROLE_USER不能訪問 --> <SchemaGrant access=‘none‘ /> </Role> <Role name="ROLE_ADMIN"><!--ROLE_ADMIN訪問所有 --> <SchemaGrant access=‘all‘ /> </Role>
Saiku權限控制(四)