历史版本1 :登录登出action监听接口 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 版本编辑
报表服务器版本 | JAR 包 | 插件版本 | App 版本 |
---|---|---|---|
10.0 | 2019-05-20 | V1.0 | 10.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,如下图所示:
4.3 查看效果
登录会有日志信息: xxx login, ip: XXX ,登出时有日志信息: xxx logout, ip:XXX,且登出后跳转到百度页面实现效果。
1)登录时,日志显示:
2)登出时,日志显示:
3)登出时,跳转到百度页面: