历史版本8 :上次登录信息提示 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

为安全起见,在数据决策系统的「登录」Tab 页下,开启上次登录信息提示,开启后每次登录时会提示上一次登录的时间、IP 地址、地点,这样会及时发现登录异常等信息。

2. 操作步骤编辑

2.1 开启上次登录信息提示按钮

以管理员身份进入数据决策系统,点击管理系统>系统管理,开启上次登录信息提示按钮,如下图所示:

6.jpg

2.2 效果查看

2.2.1 PC 端

那么每次登录数据决策系统时,将提示上次登录信息,如下图所示:

3.png

2.2.2 移动端

以 App 效果为例,如下图所示:

01.jpg

3. 注意事项编辑

3.1 自定义登录页中实现上次登录信息提示功能

登录信息的获取是在登录页获取的。

注:使用addLoginInfo(function ())保存登录信息。

3.1.1 主要代码

1)获取当前客户端 IP 和城市信息:

 // 获取当前客户端ip和城市信息,可以自行更换来源
    function getIpInfo(cb) {
      $.ajax({
        url: "https://cloud.fanruan.com/api/query/ip?timeout=10000",
        async: true,
        dataType: "JSONP",
      }).done(function (data) {
        cb(data);
      });
    }

2) 添加登录信息:

function addLoginInfo(cb) {
      getIpInfo(function (ipInfo) {
        var info = {
          time: BI.print(BI.getDate(), "%Y-%X-%d %H:%M:%S"), // 登录时间,yyyy-MM-dd HH:mm:ss
          ip: ipInfo.ip || "",
          city: ipInfo.provincecity || "",
        };
        $.ajax({
          url: "/webroot/decision/login/info",
          contentType: "application/json",
          type: "POST",
          dataType: "json",
          headers: {
            Authorization: "Bearer " + BI.Cache.getCookie("fine_auth_token"),
          },
          data: JSON.stringify(info),
          success: function (res) {
            cb();
          },
          error: function () {
            alert("超时或服务器其他错误");
          }
        });
      })
    }

3.1.2 示例

参考 自定义登录界面 设置自定义登录页,HTML 文件为:test.html

若需要在自定义登录页中添加获取上次登录信息提示的功能,代码修改为:login.html

注:示例使用了内置的 FineUI,如果不使用 FineUI 可以直接使用 jQuery 或者原生实现 Ajax 请求,自行实现添加和获取 Cookie 的方法,自行处理当前时间。

3.2 上次登录信息显示不准确

问题描述:

登录数据决策系统时,上次登录信息中信息不准确。

原因分析:

登录信息的获取是在登录页获取的,若用户跳过 登录页 直接进入数据决策系统,本次的登录信息将不会记入上次登录信息。

例如:在登录页勾选保持登录状态,进入数据决策系统(已开启上次登录信息提示按钮),上次登录信息显示为时间 1 ,彻底关闭浏览器;不经过登录页,再次进入数据决策系统,此时登录时间为时间 2 ,但上次登录信息仍然为时间 1 。