規劃步驟 3:規劃資料來源設定
作者:Keith Newman 和 Robert McMurray
在建置您的網站的這個階段中,請考慮您 ASP.NET 應用程式的資料存放區需求。 下列小節會描述 IIS 中可用的各種資料來源設定:
3.1. 資料來源連接字串
連接字串提供應用程式或提供者必須擁有才能與特定資料庫通訊的資訊。 連接字串通常會提供資料庫伺服器的伺服器或位置、要使用的特定資料庫,以及驗證資訊。 連接字串可讓您以集中方式從 Managed 程式碼應用程式連接資料庫。
新增組態設定可將本機層級的設定新增至繼承設定的任何子層級。
新增連接字串至 IIS 時,請提供以下資訊:
- 指定連接字串的名稱。 此名稱必須與您在應用程式程式碼中參照的名稱相同,才能從資料庫擷取資料。
- 指定資料庫所在的伺服器。
- 指定資料庫的名稱。
- 提供認證 (除非是使用 Windows 整合式安全性)。
3.2. ASP.NET 提供者
ASP.NET 2.0 包含數個在資料庫或其他資料存放區中儲存狀態的服務。 提供者是一種在這些服務的其中之一與資料來源之間實作一個統一介面的軟體模組。 在 IIS 7 中,您可以設定您應用程式的預設提供者。 您也可以設定提供者屬性。 例如,[使用者] 是根據提供者的功能,某一個提供者會將使用者資料儲存在 SQL 中,而另一個提供者則會將使用者資料儲存在文字檔案中。
當您擁有使用根據提供者的服務將資料儲存在資料庫或其他資料存放區的應用程式時,請在 IIS 中新增提供者。 例如,ASP.NET 中的工作階段狀態服務是一項根據提供者的服務,可管理每位使用者的工作階段狀態,方法是將它儲存在處理序 (在主機應用程式之應用程式網域內的記憶體中)、在外部處理序 (狀態伺服器處理序) 內的記憶體,或在 Microsoft SQL Server 資料庫中。
新增組態設定可將本機層級的設定新增至繼承設定的任何子層級。
若要新增您應用程式的提供者,請提供下列設定資訊:
選取提供者的 IIS 功能,以提供:.NET 設定檔、.NET 角色或 .NET 使用者。
選取提供者類型。
輸入提供者的名稱。
如果選取的功能是 .NET 使用者,請選取下列任何您想要的提供者行為:
- 啟用密碼重設
- 啟用密碼擷取
- 需要問題和答案
- 需要唯一的電子郵件
- 以安全格式儲存密碼
提供資料庫連接字串的名稱。
輸入應用程式的名稱。
3.3. .NET 設定檔
.NET 設定檔功能會將資訊與個別使用者關聯,並使用永續性格式儲存資訊。 .NET 設定檔可讓您在不需要建立及維護您自己的資料庫的情況下管理使用者資訊。
您可以在 .NET 設定檔中新增屬性或群組。 屬性儲存對使用者而言是唯一的資訊,例如使用者名稱。 您之後可以使用您儲存的資訊,為使用者提供您應用程式的個人化版本。 群組會將相關屬性組織在一起。 例如,使用者位址資訊的不同屬性可以群組在位址群組中。
如果您決定為您的 ASP.NET 應用程式新增設定檔屬性或群組,請提供下列資訊:
- 為每個設定檔屬性提供屬性名稱、資料類型 (例如字串或布林值)、預設值、序列化選項 (字串、XML、二進位檔或提供者特定選項)、是否為唯讀,以及是否可供匿名使用者使用。
- 為每個設定檔群組提供群組名稱。
3.4. .NET 角色
角色可讓您輕鬆地管理使用者群組的存取規則。 您可以建立使用者,然後將使用者指派給角色 (在 Windows 中,您可以將使用者指派給群組)。 例如,您可以建立一組您想要限制特定使用者存取的頁面,然後將讓那些頁面儲存在某個資料夾中。 然後,您可以使用 IIS 8 來定義授與和拒絕限制資料夾存取權的規則。 如果有未獲授權的使用者嘗試檢視受限制的頁面,使用者會看到錯誤,或被重新導向到您指定的頁面。
角色無法用於存取網站、應用程式或檔案的匿名使用者。
當您已經有想要套用至與所有現有群組都不一樣之使用者群組的安全性設定時,請新增角色。
如果您決定為您的應用程式定義角色,請為每個角色提供一個名稱。
重要
若要為您的應用程式設定角色,您必須先設定 .NET 角色提供者。
3.5. .NET 使用者
將使用者身分識別與應用程式關聯可協助您管理該應用程式的驗證、授權及其他安全性相關作業。
當您想要使用 IIS 來定義使用者名稱、電子郵件地址、密碼,以及在使用者遺失或忘記其密碼時用來起始自動重設帳戶的安全性問題時,請新增使用者。 如果啟用 [.NET 角色] 功能,您可以在您建立角色時將使用者加入角色。
如果您決定為您的應用程式設定使用者,請為每個使用者提供以下資訊:
- 使用者名稱 (必須是唯一的)。
- 電子郵件 (必須使用標準格式: name@domain.com) 。
- 密碼 (必須是強式密碼)。
- 問題 (輸入自訂的問題或從清單中選取)。
- 回答前述問題。
- 使用者被指派的角色。
重要
若要為您的應用程式設定使用者,您必須先設定 .NET 使用者提供者。