shiro單使用者登入實現

2021-09-12 15:46:28 字數 1682 閱讀 2918

1.需求:賬號同一時間只能在一處登入、將之前的使用者踢出:shiro實現策略:獲取當前使用者session列表,直接刪除該使用者的其他登入資訊
import org.apache.shiro.session.mgt.eis.sessiondao;

@autowired

private sessiondao sessiondao;

protected authenticationinfo dogetauthenticationinfo(authenticationtoken authenticationtoken) throws authenticationexception }}

string pwd = null;

return new ******authenticationinfo(username,pwd,getname());

}

userdo : 儲存使用者資訊的實體類

直接將session使用者資訊刪除,shiro會直接跳到登入介面。

使用者體驗不是太好,所增加乙個友好介面提示使用者

:實體類增加字段 name: conflict   type: boolean

獲取當前已登入的使用者session列表、增加字段判斷,***判斷該欄位是否符合條件進行跳轉。

protected authenticationinfo dogetauthenticationinfo(authenticationtoken authenticationtoken) throws authenticationexception }}

string pwd = null;

return new ******authenticationinfo(username,pwd,getname());

}

***判斷是否有效

//這個判斷必須要新增不然會無限迴圈

if(!urlstring.equals("iscasnot") && !urlstring.endswith("logout"))}}

return super.prehandle(request,response);}}

controller:string iscasnot()

modelandview casnot()

iscasnot.html:
您可以選擇重新登入或者修改密碼

立即前往登入

secure

安全加密

@2018 上海科技csdn****

頁面效果:

Shiro單使用者登入

有這樣乙個需求,兩地同時使用乙個賬號登入,需要將先登入的使用者的session刪除 使用者登入時判斷是否之前改賬號在別的地方登入 若沒有登入,直接進行登入 若有登入,則找到登入的session,給該session做個標記 當之前登入的使用者再次進行操作時,判斷其是否有標記,有則刪除其session,...

單使用者登入

目的 乙個賬號只能在乙個地方登入,不能同時登入 有兩種處理邏輯 1.a登入後,b不能使用同樣的賬戶進行登入 後台邏輯定義 使用者資料表多新增乙個字段,預設為false,每次使用者發起登入,檢測是否為false,是則可以登入,並設定為true,如果為true,則提示使用者已登入,請換個賬號 2.a登入...

Django實現單使用者登入

最近由於要畢業了寫 做畢設,然後還在實習發現已經好久都沒有寫部落格了。今天由於工作需求,需要用django實現單使用者登入。大概意思就是跟qq一樣的效果,每個賬號只能乙個地方登入使用,限制賬號的登入次數。由於用的是django自帶的認證,然後校驗使用者是否登入其實就是通過session實現的。下面就...