登录登出action监听接口

  • Last update:November 23, 2021
  • 1. 版本

    报表服务器版本插件版本
    11.0V1.0

    2. 描述

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

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

    3. 接口

    LoginPageProvider

    package com.fr.decision.fun;

    import com.fr.stable.fun.mark.WebCoalition;

    /**
    * 登录页插件接口
    */
    public interface LoginPageProvider extends WebCoalition {

       String MARK_STRING = "LoginPageProvider";

       int CURRENT_LEVEL = 1;

       /**
        * 登录页插件名
        * @return 名字
        */
       String name();

       /**
        * 文本描述
        * @return 文本描述
        */
       String text();

       /**
        * 封面路径
        * @return 封面路径
        */
       String coverPath();


       /**
       * 背景图片路径
       * @return 背景图片路径
        */
       String imgPath();

       /**
        * 背景图片高度(单位像素)
        * 用来控制背景图片的缩放的高度
        * @return 高度
        */
       int imgHeight();

       /**
        * 背景图片宽度(单位像素)
        * 用来控制背景图片的缩放的宽度
        * @return 宽度
        */
       int imgWidth();
    }

    接口接入

    <extra-decision>
       <LoginPageProvider class="com.fr.plugin.decision.login.MyLoginPageProvider"/>
    </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


    Attachment List


    Theme: 数据决策系统
    Already the First
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy