管理驗證驗證 <>
概觀
元素 <authentication>
的 <management>
元素會指定 IIS 管理員使用者帳戶的驗證認證。 IIS 管理員使用者可以使用 IIS 管理員來連線到由伺服器管理員授權的網站和應用程式。
當您使用預設 的 ConfigurationAuthenticationProvider 作為驗證提供者,並啟用 IIS 管理員驗證時, <credentials>
子項目可能包含一系列 <add>
元素,這些元素會定義 IIS 管理員使用者帳戶的使用者名稱和密碼。 這些 IIS 管理員使用者帳戶不是 Windows 帳戶,因此僅限於設定伺服器管理員提供給它們的月臺和設定。
相容性
版本 | 備註 |
---|---|
IIS 10.0 | 在 <authentication> IIS 10.0 中未修改專案。 |
IIS 8.5 | 未 <authentication> 在 IIS 8.5 中修改專案。 |
IIS 8.0 | 在 IIS 8.0 中未修改專案 <authentication> 。 |
IIS 7.5 | 未 <authentication> 在 IIS 7.5 中修改專案。 |
IIS 7.0 | 元素 <authentication> 的 <management> 元素是在 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 服務器 (IIS) ] 窗格中,捲動至 [ 角色服務 ] 區段,然後按一下 [ 新增角色服務]。
- 在 [新增角色服務精靈] 的 [選取角色服務] 頁面上,選取 [管理服務],然後按 [下一步]。
- 在 [確認安裝選項] 頁面上,按一下 [安裝]。
- 在 [結果] 頁面上,按一下 [關閉]。
Windows Vista 或 Windows 7
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 在主控台中,按一下 [程式和功能],然後按一下 [開啟或關閉 Windows 功能]。
- 展開 [Internet Information Services],然後展開 [Web 管理工具]。
- 選取 [IIS 管理服務],然後按一下 [ 確定]。
作法
如何啟用伺服器的 IIS 管理員認證
(IIS) 管理員開啟 Internet Information Services:
如果您使用 Windows Server 2012 或 Windows Server 2012 R2:
- 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows 8 或 Windows 8.1:
- 按住Windows鍵,按字母X,然後按一下[主控台]。
- 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows Server 2008 或 Windows Server 2008 R2:
- 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
如果您使用 Windows Vista 或 Windows 7:
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
在 [ 連線 ] 窗格中,按一下伺服器名稱。
在伺服器的 [ 首頁] 窗格中,按兩下 [ 管理服務]。
在 [管理服務] 頁面上,選擇[Windows 認證] 或 [IIS 管理員認證],然後按一下 [動作] 窗格中的 [套用]。
如何將 IIS 管理員使用者認證新增至伺服器
(IIS) 管理員開啟 Internet Information Services:
如果您使用 Windows Server 2012 或 Windows Server 2012 R2:
- 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows 8 或 Windows 8.1:
- 按住Windows鍵,按字母X,然後按一下[主控台]。
- 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
如果您使用 Windows Server 2008 或 Windows Server 2008 R2:
- 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
如果您使用 Windows Vista 或 Windows 7:
- 在工作列上,按一下 [開始],然後按一下[主控台]。
- 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
在 [ 連線 ] 窗格中,按一下伺服器名稱。
在伺服器的 [ 首頁] 窗格中,按兩下 [IIS 管理員使用者]。
在 [IIS 管理員使用者]頁面上,按一下 [動作] 窗格中的 [新增使用者...]。
在 [ 新增使用者 ] 對話方塊中,輸入使用者名稱和密碼,然後按一下 [ 確定]。
組態
屬性
屬性 | 描述 |
---|---|
defaultProvider |
選擇性字串屬性。 指定提供 Web 服務器上 IIS 管理員使用者驗證的預設提供者。 如果您變更預設提供者,則必須重新開機管理服務 (WMSVC) ,變更才會生效。 如果您已開啟 IIS 管理員,您也必須重新開啟 IIS 管理員。 |
子元素
元素 | 描述 |
---|---|
credentials |
選擇性項目。 設定 IIS 管理員使用者認證,讓使用者使用 IIS 管理員連線到伺服器上的網站和應用程式。 |
providers |
選擇性項目。 設定驗證提供者,以使用 IIS 管理員,驗證從遠端連線到月臺和應用程式的 IIS 管理員使用者。 |
組態範例
下列組態範例示範如何將名為 ContosoUser 的 IIS 管理員使用者新增至 Administration.config。
<credentials>
<add name="ContosoUser" password="Encrypted-Password-Data" enabled="true" />
</credentials>
安裝管理服務角色服務時,會在 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>
範例程式碼
下列程式碼範例會將名為 ContosoUser 的 IIS 管理員使用者帳戶新增至 IIS 7。
AppCmd.exe
注意
您無法使用 AppCmd.exe 來設定 <system.webServer/management/authentication>
設定。
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 credentialsCollection = authenticationSection.GetCollection("credentials");
ConfigurationElement addElement = credentialsCollection.CreateElement("add");
addElement["name"] = @"ContosoUser";
addElement["password"] = @"P@ssw0rd";
addElement["enabled"] = true;
credentialsCollection.Add(addElement);
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 credentialsCollection As ConfigurationElementCollection = authenticationSection.GetCollection("credentials")
Dim addElement As ConfigurationElement = credentialsCollection.CreateElement("add")
addElement("name") = "ContosoUser"
addElement("password") = "P@ssw0rd"
credentialsCollection.Add(addElement)
addElement("enabled") = True
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 credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection;
var addElement = credentialsCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoUser";
addElement.Properties.Item("password").Value = "P@ssw0rd";
addElement.Properties.Item("enabled").Value = true;
credentialsCollection.AddElement(addElement);
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 credentialsCollection = authenticationSection.ChildElements.Item("credentials").Collection
Set addElement = credentialsCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoUser"
addElement.Properties.Item("password").Value = "P@ssw0rd"
addElement.Properties.Item("enabled").Value = True
credentialsCollection.AddElement(addElement)
adminManager.CommitChanges()
注意
本檔中的範例說明如何使用儲存在 .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()