公司想要使用saiku,希望没有密码直接可以使用,这样可以直接以iframe的形式嵌套到其他的系统中。

在网上搜索了很多,大致类似这篇博客介绍的:http://www.cnblogs.com/avivaye/p/4877948.html

可是效果不能达到预期,没有办法只能修改代码重新编译。

先上结果,修改这个文件的代码: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

二、代码分析

如果需要达到效果,第一次请求就要让未登录用户默认登录,那么就简单了。getSession就是对应ajax请求的方法,如果用户没有登录,做一次登录操作即可。

登录操作的方法:sessionService.login(req, "admin", "admin")。时间关系写的不优雅,莫怪!!!

三、重新编译

这就不用说了,代码已经提交到github,参考:https://github.com/lihehuo/saiku

saiku 无密码登陆的更多相关文章

  1. 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop

    http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远 ...

  2. 烂泥:学习ssh之ssh无密码登陆

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天 ...

  3. Linux设置ssh无密码登陆

    最近在折腾Hadoop,要用到主机间无密码登陆,设置的时候遇到了一些问题,这里记录一下. 假设A需要无密码登陆B. 那么首先需要在A上使用ssh-keygen生成id_rsa.pub的公钥,生成时,一 ...

  4. 18.ssh远程双向无密码登陆

    #ssh远程双向无密码登陆 需求:在192.168.10.100执行ssh 192.168.20.205不需要输入密码直接跳转到205机器 #在192.168.10.100执行命令,我这里使用root ...

  5. ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机

    ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机 使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linu ...

  6. [SSH服务]——一个SSH无密码登陆实验

    实验拓扑图 实验描述 机房内有两台服务器: (1)B服务器10.0.10.158,充当Web服务器,有普通用户user_00 (2)C服务器10.0.10.191,充当Mysql服务器,有普通用户us ...

  7. Linux(Centos)配置OpenSSH无密码登陆<转>

    最近在搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录.   " 公私钥" ...

  8. SSH无密码登陆问题解决

    转载 http://my.oschina.net/hunzi/blog/10687 安装好Cygwin后,SSH需要设置为无密码登陆, 首先查看是ssh还是ssh2:ls -l `which ssh` ...

  9. linux ssh 无密码登陆

    要点:有时候ssh localhost 无法登陆本机,但各种设置都正确.重启下就好了...... 参考地址:http://bbs.csdn.net/topics/370109654 三台机器实现互相之 ...

随机推荐

  1. iOS——Swift开发中的单例设计模式(摘译,非原创)

    最近在开发一个小的应用,遇到了一些Objective-c上面常用的单例模式,但是swift上面还是有一定区别的,反复倒来倒去发现不能按常理(正常的oc to swift的方式)出牌,因此搜索了一些帖子 ...

  2. LINQ-to-SQL那点事~LINQ-to-SQL中的数据缓存与应对

    回到目录 这个文章写的有点滞后了,呵呵,因为总想把之前不确定的东西确定了之后,再写这篇,之前的LINQ-to-SQL那点事,请点这里. LINQ-to-SQL中的数据缓存与应对 Linq-to-SQL ...

  3. 如何引用jQuery实现下拉列表,点击展开,点击关闭。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. 转 CSS hack:针对IE6,IE7,firefox显示不同效果

    CSS hack:针对IE6,IE7,firefox显示不同效果 做网站时经常会用到,衡量一个DIV+CSS架构师的水平时,这个也很重要. 区别不同浏览器的CSS hack写法: 区别IE6与FF:  ...

  5. paip.文件读写api php java python总结.txt

    paip.文件读写api php java python总结.txt 一.多种方式读文件内容.    1.按字节读取文件内容   以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. ...

  6. paip.java 注解的详细使用代码

    paip.java 注解的详细使用代码 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/att ...

  7. 还有人在用SQL Server 2000或2005吗? 2014来了!

    你的项目,还在用SQL Server 2000或2005吗? 很多人甚至还没有来得及用过SQL Server 2008,SQL Server 2012,现在SQL Server 2014已经出来了! ...

  8. jdk分析工具:jps和jstack

    jps 用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等.与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显 ...

  9. js弹出放大图

    <script type="text/javascript"> function openpic(url){ OpenWindow = window.open(&quo ...

  10. Apex Design Patterns

    Apex allows you to build just about any custom solution on the Force.com platform. But what are the ...