1. 程式人生 > >Saiku權限控制(四)

Saiku權限控制(四)

saiku java 但是 clas map -- 這也 重新 選擇

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_監測指標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權限控制(四)