公司想要使用saiku,希望沒有密碼直接可以使用,這樣可以直接以iframe的形式嵌套到其他的系統中。
在網上搜尋了很多
可是效果不能達到預期,沒有辦法隻能修改代碼重新編譯。
先上結果,修改這個檔案的代碼:saiku-core/saiku-web/src/main/java/org/saiku/web/rest/resources/SessionResource.java。效果如下:
diff --git a/saiku-core/saiku-web/src/main/java/org/saiku/web/rest/resources/SessionResource.java b/saiku-core/saiku-web/src/main/java/org/saiku/web/rest/resources/SessionResource.java
index 54acb28..baed480 100644
--- a/saiku-core/saiku-web/src/main/java/org/saiku/web/rest/resources/SessionResource.java
+++ b/saiku-core/saiku-web/src/main/java/org/saiku/web/rest/resources/SessionResource.java
@@ -126,6 +126,12 @@ public class SessionResource {
Map<String, Object> sess = null;
try {
sess = sessionService.getSession();
+ if (sess.size()==0){
+ //尚未登入
+ sessionService.login(req, "admin", "admin");
+ sess = sessionService.getSession();
+ log.debug("unlogin user login with admin " + sess);
+ }
} catch (Exception e) {
return Response.serverError().entity(e.getLocalizedMessage()).build();
}
加号部分就是修改添加的内容。重新編譯成功!我已經去掉了很多商業分析和歡迎頁面,打開之後頁面非常簡單如圖:
下面介紹一下修改過程
一、跟蹤代碼
發現打開頁面後,判斷使用者是否登入,會發送ajax請求:http://localhost:8080/saiku/rest/saiku/session
尋找代碼,發現主要有兩部分組成:
controller:saiku-core/saiku-web/src/main/java/org/saiku/web/rest/resources/SessionResource.java
Service:saiku-core/saiku-web/src/main/java/org/saiku/web/service/SessionService.java