當用戶通過Web應用程序的身份驗證時,會話中的令牌將被存儲。 如果管理員在用戶仍在線時刪除後端的用戶。如何清除用戶的會話?如何在用戶登錄後清除會話但稍後從數據庫中刪除會話
回答
簡短回答:你不能輕易做到這一點。讓會話過期,用戶將無法登錄。
長答案:如果這個功能對你來說真的很重要,那麼你將不得不每次檢查數據庫以確保用戶登錄後沒有被刪除。在會話中存儲用戶信息,儘管對數據庫的調用可以是簡單的布爾檢查(即「用戶仍然有效/有效」)。
我不能刪除用戶的會話嗎?即使您擁有會話ID,也無法定位/操作特定會話。密鑰和存儲在內部由SessionStateStoreProviderBase
(InProcSessionStateStore
,OutOfProcSessionStateStore
,SqlSessionStateStore
)的實現進行管理,並且不打算由開發人員操縱。
通過在刪除前註銷用戶?
基於會話超時和SlidingExpiration屬性。 (感謝@tttthan)。會話超時後,用戶被迫從MSDN SlidingExpiration
一個有效的 身份驗證cookie,如果一個請求,而且一半以上的 超時間隔的已過滑動到期重置到期時間再次 登錄。如果cookie過期,則用戶必須重新驗證 。根據配置的超時值 值,通過將 認證cookie有效的時間限制爲 ,可以將SlidingExpiration屬性設置爲false,從而提高應用程序的安全性。
system.web>
<sessionState timeout="x minutes"/>
...
</system.web>
否則,你可以使用AuthorizeAttribute.AuthorizeCore方法AuthorizeCore
如果用戶處於活動狀態(滑動過期設置爲true),則會話不會過期。 – Chethan
@Chethan謝謝。更新它 –
你需要清除會話或只是防止未來授權頁面訪問?
如果您重新驗證或檢查每個http服務器請求的授權,那麼用戶將被有效註銷。
我只需要清除用戶的會話。任何方式,因爲我檢查每個請求上會話令牌的存在,一旦會話被清除,用戶將被重定向到登錄頁面。 – Chethan
- 1. 登錄後刪除wordpress會話
- 2. 如何清除登錄會話在php
- 3. 數據庫過期後從數據庫中刪除會話?
- 4. 銷燬用戶後清除會話
- 5. 註銷後清除會話
- 6. 會話固定 - 登錄後刪除會議,並作出新的會話 - 但用戶則不會再
- 7. 如何刪除Digit的登錄會話?
- 8. 表單提交後會話變量從會話中刪除
- 9. 如何在用戶控件卸載後清除會話變量
- 10. 從所有登錄的瀏覽器中刪除用戶會話
- 11. 登錄時Codeigniter會話清除
- 12. asp.net數據庫會話不被清除
- 13. 使用PHP SDK登錄後刪除Facebook會話
- 14. Spring Security + LDAP:登錄後會話被清除
- 15. 如何清除System.Windows.Forms.WebBrowser會話數據?
- 16. Rails.cache.clear正在註銷所有登錄用戶(清除會話)
- 17. codeIgniter:登錄後丟失會話數據
- 18. 在用戶註銷後,會話表是否應該從記錄中清除?
- 19. 在登錄後使用會話檢索單個用戶數據
- 20. 如何清除會話cookie
- 21. 我如何清除會話?
- 22. 跨域後刷新清除會話值
- 23. greendao刪除數據庫和會話
- 24. 會話不會自動從數據庫中刪除自己?
- 25. 登錄後丟失會話
- 26. 登錄後會話TImeout?
- 27. 在用戶離開頁面後調用ajax來清除會話
- 28. 在ASP.Net中清除會話
- 29. 在logout.ashx中清除會話
- 30. 在ASP.NET中清除會話
'Session.Abandon'? – Oded
管理員如何在後端刪除用戶?直接在數據庫中? –
您需要檢查數據庫以查看服務器上是否存在用戶帳戶。 – Kane