0
有沒有一種方法可以指定使用Windows身份驗證的Asp.Net應用程序的身份驗證超時?在運行時設置Windows身份驗證超時
在我的場景中,登錄到Windows的用戶沒有Web應用程序的權限,因此瀏覽器會提示他們輸入不同的Active Directory憑據集。假設他們不勾選「記住我的憑據」複選框,我希望能夠設置用戶將保持認證的時間。
有沒有一種方法可以指定使用Windows身份驗證的Asp.Net應用程序的身份驗證超時?在運行時設置Windows身份驗證超時
在我的場景中,登錄到Windows的用戶沒有Web應用程序的權限,因此瀏覽器會提示他們輸入不同的Active Directory憑據集。假設他們不勾選「記住我的憑據」複選框,我希望能夠設置用戶將保持認證的時間。
這將不可能從ASP.NET配置。
因此,Windows身份驗證可能使用Kerberos或NTLM。 AFAIK,NTLM是基於連接的,連接生命週期決定了認證範圍。對於kerberos,一個有時間限制的標記被髮布。令牌超時通常很小(比如幾分鐘),並且取決於設置。
也許您應該解釋設置Windows身份驗證超時的具體需要(因爲通常,超時旨在避免重播攻擊和基礎Windows身份驗證,因此需要照顧它們,因此幾乎沒有任何需要在應用程序級別做一些事情)。
一位客戶要求Windows身份驗證會話的超時時間是可配置的。一種情況是,他們使用通用帳戶登錄工作站,然後訪問ASP.Net應用程序用戶需要使用特定的Active Directory帳戶登錄。經過一天的研究,我得出的結論是,唯一的選擇是清除IE的憑證緩存,但只是引入其他問題的JavaScript黑客,所以我認爲在這種情況下,他們應該使用表單身份驗證。 – sipwiz 2011-05-30 23:10:12
@sipwiz,可以在服務器端驗證通用帳戶(即服務器是否將它們識別爲有效的Windows憑據)?如果沒有,那麼我相信IE會提示服務器上可以接受的憑據。 – VinayC 2011-05-31 04:59:16
是的通用帳戶也是有效的AD帳戶,這就是問題所在。 – sipwiz 2011-05-31 05:08:16