2010-03-01 70 views
2

在IIS上運行的ASP.NET 3.5應用程序中,如何強制對所有當前登錄和認證的用戶進行「解除認證」?ASP.NET/IIS:註銷所有用戶

iisreset似乎沒有辦法!

+1

請說明您的身份驗證機制,以及如何存儲您的會話信息。 – Timores 2010-03-01 10:06:27

+0

Timores正確無誤您的身份驗證機制需要更多信息,只需重置IIS即可在多種場景中重置身份驗證 – 2010-03-01 10:11:52

+0

我在稱爲EPiServer的CMS中使用身份驗證系統。 – 2010-03-01 10:15:22

回答

4

ASP.NET身份驗證旨在通過使用Cookie來恢復IISReset - 執行IISReset將清除所有內存中的信息,但下次用戶在您的網站上請求頁面時,他們會發送它們的認證令牌(如果它沒有超時)仍然有效,並且服務器將重新認證它們。

你可以寫的東西在重新啓動後,將有效地註銷用戶,通過(例如)存儲應用中Application_Start開始時間在一個全局變量,然後比較用戶LastActivityDate與價值 - 如果它之前的是開始時間,那麼您可以在Application_SessionStartApplication_BeginRequest期間致電適當的退出方法。

0

更改認證表單名稱將要求所有用戶進行新的認證。

來源:

<authentication mode="Forms"> 
    <forms name="originalName" loginUrl="~/Account/Login" /> 
</authentication> 

要:

<authentication mode="Forms"> 
    <forms name="differentName" loginUrl="~/Account/Login" /> 
</authentication>