反馈已提交
网络繁忙
为安全起见,在数据决策系统的「登录」Tab 页下,开启「上次登录信息提示」,开启后每次登录时会提示上一次登录的时间、IP 地址、地点,这样会及时发现登录异常等信息。
管理员登录数据决策系统,点击「管理系统>系统管理>登录」,开启「上次登录信息提示」按钮,如下图所示:
那么每次登录数据决策系统时,将提示上次登录信息,如下图所示:
以 App 效果为例,如下图所示:
登录信息的获取是在登录页获取的。
注:使用addLoginInfo(function ())保存登录信息。
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("超时或服务器其他错误"); } }); }) }
参考 自定义登录界面 设置自定义登录页,HTML 文件为:test.html
若需要在自定义登录页中添加获取上次登录信息提示的功能,代码修改为:login.html
注:示例使用了内置的 FineUI,如果不使用 FineUI 可以直接使用 jQuery 或者原生实现 Ajax 请求,自行实现添加和获取 Cookie 的方法,自行处理当前时间。
问题描述:
登录数据决策系统时,上次登录信息中信息不准确。
原因分析:
登录信息的获取是在登录页获取的,若用户跳过 登录页 直接进入数据决策系统,本次的登录信息将不会记入上次登录信息。
例如:在登录页勾选保持登录状态,进入数据决策系统(已开启上次登录信息提示按钮),上次登录信息显示为时间 1 ,彻底关闭浏览器;不经过登录页,再次进入数据决策系统,此时登录时间为时间 2 ,但上次登录信息仍然为时间 1 。
开启了「上次登录信息提示」按钮,但是登录时不显示上次登录信息。
登录信息中的IP和城市,是通过帆软云中心https://cloud.fanruan.com/api/query/ip?timeout=10000获取的。
若服务器无法连通该地址,将无法成功获取上次登录信息。但是对日志记录没有影响。
售前咨询电话
400-811-8890转1
在线技术支持
请前往「服务平台」,选择「在线支持」
热线电话:400-811-8890转2
总裁办24H投诉
热线电话:173-1278-1526