反饋已提交
網絡繁忙
為安全起見,在數據決策系統的「登入」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獲取的。
若伺服器無法連通該位址,將無法成功獲取上次登入資訊。但是對日誌記錄沒有影響。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙