簡體   English   中英

有沒有辦法從數據庫中注銷特定用戶或所有用戶?

[英]is there a way to logout a specific user or all users from database?

我正在使用帶有彈簧安全性的grails 2.2。 我正在使用MySQL數據庫。 我想知道是否有一種方法可以通過清除mysql數據庫中的數據來注銷用戶或所有用戶。

我想知道是否有一種方法可以通過清除mysql數據庫中的數據來注銷用戶或所有用戶。

沒有。 通常,數據庫中甚至不存在表示用戶是否已登錄的狀態。 在一個簡單的系統中,信息將存儲在Web應用程序的內存中。 在更復雜的系統中,信息可能存在於與應用程序通信的單獨服務中。 該信息通常不會存儲在數據庫中。

請注意,將憑據(如用戶名,密碼和角色)存儲在數據庫中是與跟蹤誰登錄無關的。

希望對您有所幫助。

如果刪除數據庫中的數據,則用戶將無法登錄NEXT TIME。

如果打開了當前會話,則用戶將保持登錄狀態,Spring Security中沒有開箱即用的機制來結束特定用戶的會話。

如果安裝JavaMelody (有時可以作為grails插件使用),則應該能夠看到所有活動的會話,並且可以從界面中將其刪除(這將導致所有用戶注銷)。

正如JSB所說,您無法完全按照要求執行操作,因為數據沒有存儲在應用程序數據庫中。

但是,您可以從Web應用程序檢查會話,並使其中的一些會話無效,這將“注銷”關聯的用戶。 我基於舊的“ app-info ”插件和“ scopesInfoService”編寫了服務和控制器。 請參閱源代碼博客

如果您需要快速修復並將其部署到Tomcat,請嘗試使用管理器webapp使您的webapp會話無效,盡管如果您尚未顯式添加用戶名(或其他標識字符串)來確定要選擇的會話可能會很棘手。身份驗證成功后,將會話設置為會話“登錄”屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM