2012-01-20 41 views
4

一個有點奇怪的問題傳達給我們。是否可以通過編程方式導致單個用戶作爲另一個用戶(例如以管理員身份)登錄時被「註銷」。ASP.net表單身份驗證 - 管理員殺死單個用戶的會話

例如一個管理員在stackoverflow將決定我應該註銷 - 點擊一個按鈕,然後我將被迫再次登錄到我的下一個SO請求。

這是使用基於標準表單的身份驗證運行ASP.net的網站。

回答

1

因爲驗證過的會話依賴於cookie,所以他們彼此不瞭解。

所以你需要跟蹤登錄的用戶可能與他們的角色一起。並在每個請求開始時進行檢查。

您可以通過跟蹤開始。

  1. 用戶A - 角色「管理員」在日誌中創建數據庫行
  2. 用戶A - 角色「經理」登錄,現在您標記步驟的行1已過期,併爲用戶A創建新行 - 角色'manager'
  3. 用戶A - 角色'admin'嘗試執行某個操作。在開始請求方法中,您將驗證此會話是否標記爲過期。如果只是註銷,請刪除第1步中的行並重定向至登錄。
  4. 用戶A點擊註銷,刪除用戶A - 角色「經理」行
+0

我在想,我們需要這樣的事情,討厭的一點,但你去那裏。感謝您的意見。 – Paddy