驗證範例 (Windows SharePoint Services)
本文內容
本文內容:
SQL 成員資格提供者
Active Directory 成員資格提供者
Web SSO 與 AD FS
本文包含數個常見表單驗證與網頁單一登入 (SSO) 驗證提供者的組態設定範例。
SQL 成員資格提供者
下表提供使用 ASP.NET 表單驗證連線至 SQL 成員資格提供者的 Web.config 檔案項目範例。
開啟 ASP.NET 表單驗證。
您可以在 SharePoint 管理中心網站的 [編輯驗證] 頁面上,將特定區域的驗證類型設為表單驗證。
這會自動將 Web.config 檔案的驗證元素中為該區域指定的模式變更為表單。
例如:
<authentication mode="Forms">
</authentication>
註冊成員資格提供者。
如果您要在本機伺服器上使用 Microsoft SQL Server 資料庫軟體作為成員資格提供者資料庫,且指定 AspNetSqlMembershipProvider 作為成員資格提供者名稱,可能不需要對 Web.config 檔案進行任何其他變更。在此情況下,如果 machine.config 檔案的 AspNetSqlMembershipProvider 設定正確,不用進行任何變更即可用作 Windows SharePoint Services。
如果 machine.config 檔案中的預設設定不適用 (例如,若要在遠端伺服器上使用 SQL Server 資料庫),則必須同時編輯 Web 應用程式與管理中心網站的 Web.config 檔案,以在 connectionStrings
元素中指定成員資格提供者資料庫的連線資訊。
例如:
<connectionStrings>
<add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" />
</connectionStrings>
以您安裝 SQL Server 成員資格資料庫的伺服器電腦名稱取代 *SQLSERVERMACHINE*。
接著,新增 membership
和 providers
元素以在 Web.config 檔案中註冊成員資格提供者。因為 machine.config 檔案中已註冊預設提供者,所以您必須在 <add>
元素之前包含 <remove>
元素。
例如:
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="SqlProviderConnection" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
membership
元素必須同時包含在 Web 應用程式與管理中心網站之 Web.config 檔案的 system.web
元素內。
註冊角色管理員 (選擇性)。
您可以將 roleManager
元素新增至 Web.config 檔案的 system.web
元素,以使用 ASP.NET 預設的角色提供者。例如:
<roleManager enabled="true" />
以上語法使用在 machine.config 檔案中定義的 AspNetSqlRoleProvider。此角色管理員可連線至本機或遠端 SQL Server 執行個體的 ASPNETDB 資料庫。若要在遠端伺服器上使用 SQL Server 資料庫作為角色提供者資料庫,您必須編輯 Web.config 檔案,以指定遠端資料庫伺服器的連線資訊。
例如:
<connectionStrings>
<add
name="SqlProviderConnection"
connectionString="server=SQLSERVERMACHINE; database=aspnetdb; Trusted_Connection=True"
/>
</connectionStrings>
以架設 SQL 資料庫的遠端伺服器名稱取代 *SQLSERVERMACHINE*。您可以為成員資格提供者與角色管理員指定相同的 connectionStringName
元素值,如此一來便不需要為角色提供者新增 connectionStrings
元素。但是,若要使用不同的資料庫作為角色提供者,則必須另外為角色提供者新增 connectionStrings
元素。
接著,您需要新增 roleManager
和 providers
元素以在 Web.config 中註冊 roleManager
提供者。因為 machine.config 檔案中已註冊預設提供者,所以您必須在 <add>
元素之前包含 <remove>
元素。
例如:
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="SqlProviderConnection" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
roleManager
元素必須同時包含在 Web 應用程式與管理中心網站之 Web.config 檔案的 system.web
元素內。
註冊 HTTP 模組。
不適用
Active Directory 成員資格提供者
下表提供使用 ASP.NET 表單驗證以使用Active Directory 目錄服務成員資格提供者的 Web.config 檔案項目範例。
開啟 ASP.NET 表單驗證。
您可以在管理中心的 [編輯驗證] 頁面上,將特定區域的驗證類型設為表單驗證。
這會自動將 Web.config 檔案的驗證元素中為該區域指定的模式變更為表單。
例如:
<authentication mode="Forms">
</authentication>
您也可以在表單元素中指定登入頁面 URL,例如:
<authentication mode="Forms">
<forms loginUrl="/_layouts/login.aspx"></forms>
</authentication>
註冊成員資格提供者。
若要使用 Active Directory 伺服器作為成員資格提供者,則必須編輯 Web.config 檔案以註冊成員資格提供者。若要執行這項操作,您必須在 connectionStrings
元素中指定 Active Directory 伺服器的連線資訊。
例如:
<connectionStrings>
<add name="ADConnectionString"
connectionString=
"LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " />
</connectionStrings>
以成員資格目錄伺服器的名稱取代 *DirectoryServer*。
<membership defaultProvider="MembershipADProvider">
<providers>
<add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"/>
</providers>
</membership>
注意
以上範例不會指定帳戶認證。如果未指定帳戶認證,則會使用應用程式的處理序身分識別存取 Active Directory。
如果需要其他帳戶才可存取 Active Directory,您可以在 connectionUsername
和 connectionPassword
屬性中指定不同的帳戶認證,亦即以純文字提供使用者名稱與密碼。因此,建議您加密此設定區段。如需詳細資訊,請參閱下列文章:
註冊角色管理員 (選擇性)。
註冊 HTTP 模組。
不適用
Web SSO 與 AD FS
Microsoft Windows Server 2003 R2 作業系統推出 Active Directory Federation Services (AD FS),可讓組織安全地共用使用者的身分識別資訊。AD FS 提供網頁單一登入 (SSO) 技術,以在單一連線工作階段期間,針對多個 Web 應用程式驗證使用者。
AD FS 隨附下列兩組成員資格與角色提供者:
SingleSignOnMembershipProvider/SingleSignOnRoleProvider Windows Server 2003 R2 隨附的標準成員資格提供者與角色提供者。
SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2 在部分信任環境中運作的成員資格提供者與角色提供者。Windows Server 2003 R2 的 Service Pack 2 隨附這些提供者。
SingleSignOnMembershipProvider/SingleSignOnRoleProvider
下表為使用標準提供者的 Web SSO AD FS 環境,提供 Web.config 檔案項目範例。
開啟 ASP.NET 表單驗證。
<system.web>
<!-mode=[Windows|Forms|Passport|None]>
<authentication mode="Forms" />
</system.web>
註冊成員資格提供者。
<membership defaultProvider="SingleSignOnMembershipProvider">
<providers>
<add
name="SingleSignOnMembershipProvider"
type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"
/>
</providers>
</membership>
對於 fs
屬性,請以實際的伺服器名稱取代 *FEDERATIONSERVER*。
membership
元素必須包含在 Web.config 檔案的 system.web
元素內。
註冊角色管理員 (選擇性)。
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider">
<providers>
<add
name="SingleSignOnRoleProvider"
type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"
/>
</providers>
</roleManager>
對於 fs
屬性,需要以實際的伺服器名稱取代 *FEDERATIONSERVER*。
註冊 HTTP 模組。
<httpModules>
<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</httpModules>
SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2
如果您要實作第二組 AD FS 提供者,註冊成員資格提供者與角色提供者的設定會不同。下表為使用在部分信任環境中運作之提供者的 Web SSO AD FS 環境,提供 Web.config 檔案項目範例。
開啟 ASP.NET 表單驗證。
<system.web>
<!-mode=[Windows|Forms|Passport|None]>
<authentication mode="Forms" />
</system.web>
註冊成員資格提供者。
<membership defaultProvider="SingleSignOnMembershipProvider2">
<providers>
<add
name="SingleSignOnMembershipProvider2"
type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fs=https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx
/>
</providers>
</membership>
對於 fs
屬性,請以實際的伺服器名稱取代 *FEDERATIONSERVER*。
membership
元素必須包含在 Web.config 檔案的 system.web
元素內。
註冊角色管理員 (選擇性)。
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">
<providers>
<add
name="SingleSignOnRoleProvider2"
type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"
/>
</providers>
</roleManager>
對於 fs
屬性,需要以實際的伺服器名稱取代 FEDERATIONSERVER。
註冊 HTTP 模組。
<httpModules>
<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</httpModules>
下載本書
本主題隨附於下列可下載的叢書中,以便於閱讀與列印:
請參閱 Windows SharePoint Services 可下載的叢書 (英文) 上提供的完整叢書清單。