我設計一個會話管理系統對我的一個側面項目,我發現有一個簡單的解決方案,以下列要求摔跤:會話管理 - 可以過期並失效的多個會話?
要求:
- 一個用戶可以有多個會話
- 用戶的所有會話可以一次無效
- 會話的用戶30分鐘
我見過允許用戶有多個會話自然過期的方法(例如Redis和生成的密鑰)。但是,由於會話的每個密鑰都是隨機生成的值,因此此方法不提供直接的方法來使屬於用戶的所有會話無效。
我也看到了一種方法,用戶可以通過跟蹤RDBMS表中用戶的生成會話ID來獲得多個會話。雖然這很容易使屬於用戶的所有會話無效,但現在我有一個額外的過程,必須使過期的會話無效/刪除,因爲數據庫(PostgreSQL,MySQL等)不會自行完成此操作。
有沒有一種方法,我可以擁有所有3?
請問爲什麼你想要多個會議而不是一個會議,甚至根本沒有會議? –
我想允許多個設備,瀏覽器等能夠使用相同的憑據進行身份驗證,但被視爲獨立會話。 「沒有會議」確實引出了一些有趣的想法。感謝您的想法! – gordysc
從Web服務器的角度來看,會話是一個會話,這意味着不應該有任何先驗,這會阻止您的服務器爲同一用戶進行移動和桌面會話。 –