管理驗證提供者 < 提供者>
概觀
元素 <providers>
的 <authentication>
元素會指定 Management Service (WMSVC) 用來使用 IIS 管理員來驗證從遠端連線到網站和應用程式的使用者。
注意
預設驗證提供者 ConfigurationAuthenticationProvider會使用 IIS Administration.config 檔案來儲存 IIS 管理員的使用者認證。
相容性
版本 | 備註 |
---|---|
IIS 10.0 | 未在 IIS 10.0 中修改專案 <providers> 。 |
IIS 8.5 | 未在 IIS 8.5 中修改專案 <providers> 。 |
IIS 8.0 | 未在 IIS 8.0 中修改專案 <providers> 。 |
IIS 7.5 | 未在 IIS 7.5 中修改專案 <providers> 。 |
IIS 7.0 | 元素 <providers> 的 <authentication> 元素是在 IIS 7.0 中引進。 |
IIS 6.0 | N/A |
安裝程式
IIS 7 和更新版本的預設安裝不包含 管理服務 角色服務。 若要安裝此角色服務,請使用下列步驟。
Windows Server 2012 或 Windows Server 2012 R2
- 在工作列上,按一下 [伺服器管理員]。
- 在[伺服器管理員] 中,按一下 [管理] 功能表,然後按一下 [新增角色及功能]。
- 在 [ 新增角色及功能精 靈] 中,按 [ 下一步]。 選取安裝類型,然後按 [ 下一步]。 選取目的地伺服器,然後按 [ 下一步]。
- 在 [ 伺服器角色] 頁面上,展開 [ Web 服務器 (IIS) ],展開 [ 管理工具],然後選取 [ 管理服務]。 按一下 [下一步] 。
. - 在 [選取功能] 頁面上,按 [下一步]。
- 在 [確認安裝選項] 頁面上,按一下 [安裝]。
- 在 [結果] 頁面上,按一下 [關閉]。
Windows 8 或 Windows 8.1
- 在 [開始] 畫面上,將指標一路移至左下角,以滑鼠右鍵按一下 [開始] 按鈕,然後按一下[主控台]。
- 在主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。
- 依序展開 [Internet Information Services]、[ Web 管理工具],然後選取 [ IIS 管理服務]。
- 按一下 [確定]。
- 按一下 [關閉] 。
Windows Server 2008 或 Windows Server 2008 R2
- 在工作列上,按一下 [開始],指向 [系統管理工具],然後按一下[伺服器管理員]。
- 在[伺服器管理員階層] 窗格中,展開 [角色],然後按一下 [Web 服務器] (IIS) 。
- 在 [ Web Server (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。
- 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,選取 [管理服務],然後按 [下一步]。
- 在 [確認安裝選項] 頁面上,按一下 [安裝]。
- 在 [結果] 頁面上,按一下 [關閉]。
Windows Vista 或 Windows 7
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 在主控台中,按一下 [程式和功能],然後按一下[開啟或關閉 Windows 功能]。
- 展開 [Internet Information Services],然後展開 [ Web 管理工具]。
- 選取 [IIS 管理服務],然後按一下 [ 確定]。
作法
沒有使用者介面可 <providers>
設定 IIS 7 之 元素的 <authentication>
元素。 For examples of how to configure the <providers>
element of the <authentication>
element programmatically, see the Code Samples section of this document.
組態
屬性
無。
子元素
元素 | 描述 |
---|---|
add |
選擇性項目。 將提供者新增至驗證提供者的集合。 |
組態範例
安裝管理服務角色服務時,會在 IIS 7 的 Administration.config 檔案中設定下列預設 <providers>
元素 <authentication>
。
<authentication defaultProvider="ConfigurationAuthenticationProvider">
<providers>
<add name="ConfigurationAuthenticationProvider"
type="Microsoft.Web.Management.Server.ConfigurationAuthenticationProvider, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</authentication>
範例程式碼
注意
本檔中的範例說明如何使用儲存在 .NET 全域組件快取 (GAC) 中的 Managed 程式碼元件。 使用這些範例中的程式碼來部署您自己的元件之前,您需要從 GAC 擷取元件資訊。 若要這樣做,請使用下列步驟:
- 在 Windows 檔案總管中,開啟您的 C:\Windows\元件路徑,其中 C: 是您的作業系統磁片磁碟機。
- 找出您的元件。
- 以滑鼠右鍵按一下元件,然後按一下 [ 屬性]。
- 複製 文化特性 值;例如: 中性。
- 複製 版本 號碼;例如: 1.0.0.0。
- 複製 公開金鑰權杖 值;例如: 426f62526f636b73。
- 按一下 [取消]。
下列程式碼範例會將名為 ContosoAuthenticationProvider 的驗證提供者新增至管理驗證提供者的集合,並將預設驗證提供者設定為 ContosoAuthenticationProvider。
AppCmd.exe
注意
您無法使用 AppCmd.exe 來設定 <system.webServer/Management>
設定。
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetAdministrationConfiguration();
ConfigurationSection authenticationSection = config.GetSection("system.webServer/management/authentication");
ConfigurationElementCollection providersCollection = authenticationSection.GetCollection("providers");
ConfigurationElement addElement = providersCollection.CreateElement("add");
addElement["name"] = @"ContosoAuthenticationProvider";
addElement["type"] = @"Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
providersCollection.Add(addElement);
authenticationSection["defaultProvider"] = "ContosoAuthenticationProvider";
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetAdministrationConfiguration
Dim authenticationSection As ConfigurationSection = config.GetSection("system.webServer/management/authentication")
Dim providersCollection As ConfigurationElementCollection = authenticationSection.GetCollection("providers")
Dim addElement As ConfigurationElement = providersCollection.CreateElement("add")
addElement("name") = "ContosoAuthenticationProvider"
addElement("type") = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
providersCollection.Add(addElement)
authenticationSection("defaultProvider") = "ContosoAuthenticationProvider"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager");
adminManager.CommitPath = "MACHINE/WEBROOT";
adminManager.SetMetadata("pathMapper", "AdministrationConfig");
var authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT");
var providersCollection = authenticationSection.ChildElements.Item("providers").Collection;
var addElement = providersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoAuthenticationProvider";
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
providersCollection.AddElement(addElement);
authenticationSection.Properties.Item("defaultProvider").Value = "ContosoAuthenticationProvider";
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"
Set authenticationSection = adminManager.GetAdminSection("system.webServer/management/authentication", "MACHINE/WEBROOT")
Set providersCollection = authenticationSection.ChildElements.Item("providers").Collection
Set addElement = providersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoAuthenticationProvider"
addElement.Properties.Item("type").Value = "Contoso.Provider, System.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
providersCollection.AddElement(addElement)
authenticationSection.Properties.Item("defaultProvider").Value = "ContosoAuthenticationProvider"
adminManager.CommitChanges()