• saiku 无密码登陆


    公司想要使用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

  • 相关阅读:
    阿里云服务器Linux CentOS安装配置(五)jetty配置、部署
    阿里云服务器Linux CentOS安装配置(四)yum安装tomcat
    阿里云服务器Linux CentOS安装配置(三)yum安装mysql
    阿里云服务器Linux CentOS安装配置(二)yum安装svn
    【搭建git+maven+jenkins持续集成环境】[一] 搭建git服务器
    使用nginx的反向代理后play获取不到客户端的ip的问题
    MyBatis Generator配置文件翻译
    MyBatis -generator应用
    编程之术与道
    java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
  • 原文地址:https://www.cnblogs.com/liqiu/p/5246015.html
Copyright © 2020-2023  润新知