历史版本2 :登录登出action监听接口 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 版本编辑

报表服务器版本JAR 包插件版本
10.02019-05-20V1.0

2. 描述编辑

应用场景:10.0决策平台默认登出时会自动跳转到登录界面,而有的用户可能需要登出时跳转到自定义的登出界面而非登录页。

功能介绍:在决策平台中提供登录登出后事件的接口,用于登录登出后自定义操作。

3. 接口编辑

LogInOutEventProvider

/**

 * 用于监听登录登出事件的接口,使用的时候尽可能继承抽象类{@link AbstractLogInOutEventProvider}

 * Created by zhouping on 2018/12/13.

 */

public interface LogInOutEventProvider extends Mutable {

 

    String MARK_STRING = "LogInOutEventProvider";

 

    int CURRENT_LEVEL = 2;

 

    /**

     * 登录后事件

     *

     * @param result 登录结果

     */

    void loginAction(LogInOutResultInfo result);

 

    /**

     * 登出后事件

     *

     * @param result

     * @return 登录后跳转url,null/""则跳转登录页

     */

    String logoutAction(LogInOutResultInfo result); 

}


接口接入

<extra-decision>

    <LogInOutEventProvider class="com.fr.plugin.demo.loginout.event.CustomLogInOutEventProvider"/>

</extra-decision>

4. 示例编辑

4.1 安装 DEMO 插件

这里提供 fr-plugin-demo.loginout.event-1.0.zip,点击下载后,本地安装该插件,安装后获得如下的接口:

package com.fr.plugin.demo.loginout.event;

import com.fr.decision.fun.impl.AbstractLogInOutEventProvider;

import com.fr.decision.webservice.login.LogInOutResultInfo;

import com.fr.log.FineLoggerFactory;

import com.fr.plugin.transform.FunctionRecorder;

import com.fr.web.utils.WebUtils;

@FunctionRecorder

public class CustomLogInOutEventProvider extends AbstractLogInOutEventProvider {

    @Override

    public void loginAction(LogInOutResultInfo result) {

        FineLoggerFactory.getLogger().info(result.getUsername() + " login, ip: " + WebUtils.getIpAddr(result.getRequest()));

        /* 日志输出登录信息 */

        super.loginAction(result);

    }

    @Override

    public String logoutAction(LogInOutResultInfo result) {

        FineLoggerFactory.getLogger().info(result.getUsername() + " logout, ip: " + WebUtils.getIpAddr(result.getRequest()));

        /* 日志输出登出信息 */

        return "http://www.baidu.com";

        /* 跳转到百度页面 */

    }

}

4.2 调整日志等级

安装插件后,点击文件>选项>高级将日志等级(log 级别设置)调整成 INFO,如下图所示:


image.png

4.3 查看效果

登录会有日志信息: xxx login, ip: XXX ,登出时有日志信息: xxx logout, ip:XXX,且登出后跳转到百度页面实现效果。

1)登录时,日志显示:

image.png

2)登出时,日志显示:

image.png


3)登出时,跳转到百度页面:

image.png