Windows,Forms,Passport,Claims等。身份驗證是BROWSER身份驗證方案。它們是瀏覽器與服務器通信以呈現證書的機制。他們與數據庫或任何其他存儲機制無關(呃,主要是......)。這些只是實現細節。
FormsAuthentication使用cookie來存儲的加密值,告訴該用戶已經被認證服務器。用戶如何通過身份驗證,通過與數據庫進行比較,使用服務等進行身份驗證。如果最終結果是發佈了FormsAuthentication cookie,則這些都無關緊要。
WindowsAuthentication與瀏覽器和Web服務器進行通信以共享Kerberos票證以驗證身份有關,或者用戶將用戶名密碼輸入到服務器請求瀏覽器彈出的框中。在這種模式下,服務器本身管理認證發生的方式,而不涉及應用程序。
BasicAuthentication使用HTTP標頭以明文發送密碼,那麼,在技術上這是一個編碼的密碼,但它是衆所周知的,因此任何人可以unencode它。同樣,它存儲數據的實際方法取決於服務器,而服務器在沒有應用程序知識的情況下執行此操作。重要的部分是它通過HTTP頭完成。
同樣是其他類型的認證的,它們都是在cookie和/或報頭機制只是變化也是如此。
的這裏的一點是,認證是對任何給定的HTTP請求如何識別用戶是在服務器誰,最終的應用程序。不是數據如何存儲或驗證。因此,由於您沒有告訴我們服務器和瀏覽器是如何通信的,我們無法告訴您您的身份驗證是如何定義的,儘管幾乎可以肯定它是FormsAuthentication的變體。
編輯:
只是一點點的歷史課。它被稱爲FormsAuthentication的原因是因爲身份驗證系統不使用瀏覽器中的彈出對話框輸入憑據,但通常網頁提供HTML表單供用戶輸入憑證。瀏覽器根本不涉及認證過程,除了按要求傳遞cookie之外。
它應該更準確地稱爲「CookieBasedAuthentication」,但名稱已卡住,並可能保持原樣。 ASP.NET提供了一個名爲FormsAuthentication的特定實現,但您可以使用任何基於cookie的身份驗證方案執行相同的操作(儘管我不建議自己滾動,但幾乎肯定會出現安全性錯誤)。
有人認爲在Session中存儲標誌就足夠了。在任何情況下都不要使用Session來存儲身份驗證信息。會話cookie未加密,很容易被盜取和/或欺騙。使用衆所周知的方法。
表單身份驗證 –
但我沒有在Web中設置'''。config –
Dan
你是否讓用戶爲每個頁面請求輸入密碼?如果沒有,你以某種方式存儲他們的認證值。你最近怎麼樣? –