WEB系統防止同一賬號,同時在多個不同裝置登入。
方案一、在使用者表新增三個欄位分別儲存,使用者登入口令、上次登入IP地址、上次登入時間,在登入成功後,生成唯一使用者登入口令,把使用者登入口令、上次登入IP地址、上次登入時間儲存到SESSION,並相應的儲存到使用者表。然後提示使用者 上次登入IP地址、上次登入時間。(也可以把IP地址轉為具體地區展示)
方案二、判斷是否已經登入時,先判斷是否登入狀態? 再讀取SESSION的使用者登入口令,如果登入口令不為空,則把登入口令的值與使用者表的登入口令比較,若不一致,則提示使用者“您的賬號在其他裝置登入”,並且退出登入(清楚登入狀態)
方案三、同時使用servletContext和cookie儲存使用者資訊 ,通過servletContext判斷使用者是否登入,和cookie判斷使用者是否在同一裝置登入。
提供方案三程式碼:
LoginServlet
ServletContext sc = getServletContext();
Cookie[] cookies = httpRequest.getCookies();
boolean flag = false;
for(int i = 0; i < cookies.length; i++){
String key = cookies[i].getName();
if(userId.equals(key)){
flag = true;
}
}
String old_session = (HttpSession)sc.getAttribute(userId);
if (old_session != null){
if(!flag){
SystemOut.out.println(“該使用者已在其他裝置登入!”);
return false;
}
}
//使用者登入成功
sc.setAttribute(userId,"使用者");
Cookie cookie = new Cookie(userId,"使用者");
httpResponse.addCookie(cookie);
登出登入
LogOutServlet
ServletContext sc = getServletContext();
sc.removeAttribute(userId);
//刪除Cookie
Cookie cookie = new Cookie(userId,"使用者");
cookiesetMaxAge(0);
httpResponse.addCookie(cookie);
“`
相關推薦
WEB系統防止同一賬號,同時在多個不同裝置登入。
方案一、在使用者表新增三個欄位分別儲存,使用者登入口令、上次登入IP地址、上次登入時間,在登入成功後,生成唯一使用者登入口令,把使用者登入口令、上次登入IP地址、上次登入時間儲存到SESSION,並相應的儲存到使用者表。然後提示使用者 上次登入IP地址、上次登入
Web專案防止同一賬號在不同session下重複登入
一、session簡介 瀏覽器在請求伺服器時,伺服器都會建立一個session,session負責瀏覽器與伺服器之間的會話。session的存在是為了維護瀏覽器和伺服器之間互動時保留一些互動資料,例如使
web.xml中同一servlet/filter配置多個url-pattern
若你的servlet要多個地址,或你的filter需要過濾不同的url如有*.jsp,*.do等,有好幾個怎麼做呢 其實很簡單,以下的filter就是一個例子,encodingFilter配置了過濾了兩個url-pattern <filter> <f
你有想過在同一臺服務器中,同時多開幾個tomcat嗎
clas java_home tlab ats 裏的 linux中 成了 配置jdk 記錄 tomcat作為許多java項目的運行的環境,常用來跑java項目。而一臺服務器只跑一個tomcat服務又太浪費資源了,so,我們可以在同一臺服務器上,同時跑多個tomcat服務進程
同一臺伺服器部署多個WEB應用,SESSION衝突的解決方法
由於一臺伺服器上使用Tomcat部署多個WEB專案,而專案因為用到框架都是一樣的,導致同時執行,session相互衝突,這個登入後,那個就得重新登入,造成了使用不方便,解決辦法如下: 在server.xml檔案,host的標籤頁下,加上Context標籤,標籤內容可以這樣寫: <Contex
同一臺服務器,啟動多個redis實例
ports ping spa margin span wan opp clas then 該腳本放到/etc/init.d/下,命名為redis #!/bin/sh #chkconfig: 2345 10 90 #description: Startup and stop
Fast Flux技術——本質就是跳板,控制多個機器,同一域名指向極多的IP(TTL修改為0),以逃避追蹤
using sea 地址 3.2 網站 nslookup 不知道 維基百科 run 轉自:http://ytuwlg.iteye.com/blog/355718 通過病毒郵件和欺詐網站學到的對付網絡封鎖的好東西:Fast Flux技術 收到一封郵件,引起我的好奇了: 郵件標
appium+python自動化60-windows上同時啟動多個appium服務,讓多個android機器並行運行
pre tps yam rom 啟動app 技術分享 AI 如果 aapt 前言 做android自動化的時候,啟動一個appium服務,只能匹配一個手機去自動化執行。有時候想同一套代碼,可以在不同的手機上執行,測下app在不同手機上兼容性。 這就需要啟動多個appium服
Selenium Java Web 自動化實踐總結(七)如何切換同一瀏覽器開啟的多個視窗
瀏覽器每個頁面都有一個標識:控制代碼,Selenium 裡面的內建方法getWindowHandles() 獲取當前控制代碼數。返回一個集合。 // 得到當前視窗的set集合 Set<String> winHandels = driver.getWindowHandles(); //
談談對localStorage,sessionStorage的瞭解及如何在一個瀏覽器同時登入多個不同的賬號
簡介 HTML5中的web Storage包括了兩種儲存方式: localStorage和sessionStorage。localStorage用於 儲存一個域名下的需要永久存在在本地的資料,這些資料可以被一直訪問,直到這些資料被刪除。sessionStorage用於本地儲存一個會話中的資料
在Linux系統配置Nodejs環境的最簡單步驟,部署多個thinkjs(nodejs)專案
發現一臺伺服器部署管理多個nodejs服務,可以採用二級域名weekly.mwcxs.top,也可以採用固定字尾www.mwcxs.top/weekly的方式,本文先從固定字尾的方式部署管理多個nodejs服務。 1、去官網下載和自己系統匹配的檔案: 建議去英文網站下載 ,因為中文這邊沒有
OpenCV練習:嘗試同時提取多個不同的顏色物體,比如同時提取紅,藍,綠三個不同顏色的物體。
python: 1.先是通過 import cv2 import numpy as np red = np.uint8([[[255,0,0]]]) hsv_red=cv2.cvtColor(red,cv2.COLOR_BGR2HSV) print hsv_red green=np.ui
ajaxFileUpload.js 無重新整理上傳圖片,支援多個引數同時上傳,支援 ie6-ie10
ajaxFileUpload 無重新整理上傳的原理: 在頁面動態建立 form 表單和 ifram 貞,設定 form 表單提交的目標為 ifram 貞, 將檔案域和要 post 的引數動態寫入 form 表單中,然後提交 from 表單。 通過 window.attach
vue專案在同一頁面中引入多個echarts圖表 ,並實現封裝,自適應和動態資料改變
vue-Echarts公司最近做專案需要用到圖表,以前是使用echarts,現在也是用這個,沒什麼好糾結的! 但是最近發現以前每次做圖表之類的都沒有封裝,每次做圖表都要從新去配置之類的,寫了好多重複程式碼,感覺很累啊,所以自己把圖表封裝成子元件使用,程式碼工作量減輕了很多,而
Plupload 上傳詳細講解,Plupload 多實例上傳,Plupload多個上傳按鈕--推薦使用
.html 目前 clas 路徑 arc 我們 參考 等等 選擇 今天幫朋友解決 Plupload 上傳的問題,查了很多資料,資料還是挺全的,但是有點零零散散的,故整理好,合並發出來。 本教程包括: Plupload 上傳詳細講。 Plupload 多實例
jq給同一元素綁定多個事件
cli 如果 pan blog data 定義 mouse nbsp click $(".aa").on("click",function(){ alert(1) }).on("mousemove",function(){ cons
sql存儲過程,根據多個條件查詢,返回一個dataTable或者DataSet
bold new exc cnblogs 所有 sql存儲過程 存儲 ring table 不廢話,先直接代碼 首先sql部分(我在這裏加了一個@zx作為判斷,一般不需要這個參數): ALTER Proc [dbo].[Proc_Boss_Show] @StrIndex
同一臺機器上多個tomcat啟動造成的內存溢出問題的解決方法。
-xms maxperm size blog 內存溢出 max gpo 解決 rms 加下面這句話就行了,我是WIN10+雙tomcat+nginx(本地站點),無壓力。在編譯器的vm option裏面加哦。 -server -Xms512m -Xmx1024m -X
1.復選框,選中多個的做法
選擇 img 數據 分享圖片 body key log 分享 提交 Name:是要提交到action當中的多個id形成的集合 List:是從action中傳過來的數據,用來展示的數據 Listkey:是選擇的項, Listvalue:是要顯示的部分。 1.復選框,選中多
在GET方式下,有多個參數時的處理
body getname ron 自動 arr tro rest 封裝 from 在一個查詢接口中,需要的參數比較多,如果還是使用GET方式進行請求的話,那麽,Controller 中的方法的參數列表將會非常多,如: public List<String> g