2015-01-11 195 views
0

我即將開始使用ASP.NET(C#)網站項目,該項目需要用戶進行身份驗證,並且我遇到了一些設計問題。我需要使用SQL Server數據庫來存儲Web應用程序的數據(以包含用戶的登錄數據),但是我發現的有關ASP.NET和身份驗證的所有信息都使用Windows身份驗證。ASP.NET SQL Server數據庫身份驗證

現在我當然可以編寫代碼來查詢數據庫並檢查用戶對數據庫的輸入以查看用戶名/密碼是否存在(當前計劃),但是如何設置會話狀態與其他數據(例如用戶ID)一起進行認證,以便該網站可以僅向用戶提供他們的數據?

+0

它不是真的,有很多關於如何存儲您的身份驗證MS SQL的文章 – Aristos

+0

有許多方法可以回答這個問題,因爲有程序員。可悲的是,投票結果「太寬泛」。 –

+0

請閱讀http://msdn.microsoft.com/en-us/library/ff647396.aspx – Aristos

回答

3

首先,閱讀關於表單身份驗證的更多信息。你不可能真的錯過了(可以嗎?),但它是另一個不涉及Windows帳戶的主要身份驗證機制,而是在cookie的幫助下維護會話,該cookie將用戶名與其他所謂的用戶數據(可能是用戶ID或其他任何內容)。其次,成員/角色提供者機制可用於10年 - 它爲您提供了一個您自己實現的抽象。抽象是關於存儲用戶/密碼/角色。現在,會員/角色提供商正逐漸被Identity 2.0框架取代,您可以自由選擇老人或嘗試更新。

這兩個表單身份驗證和成員身份/角色提供程序一起構成了您所需的基礎。

的基本流程如下:

  1. 用戶請求的各種資源(「頁」)
  2. 一些資源從匿名訪問看守,並要求認證/授權
  3. 窗體身份驗證模塊重定向請求到這樣的資源登錄頁面(登錄視圖)
  4. 在登錄頁面您使用會員/角色提供商來驗證用戶併發出表格Cookie
  5. 喲ü重定向返回

表單身份驗證模塊現在會在每次請求時選擇該Cookie並重新創建身份,以便在服務器代碼即將運行時對用戶進行身份驗證。