ВВЕДЕНИЕ
В сервере Microsoft Internet Security and Acceleration (ISA) 2006 вы публикуете веб-узел с помощью ограниченной делегации Kerberos. В зависимости от веб-узла можно изменить способ запроса ISA Server билета Kerberos пользователя, удостоверяющего подлинность. По умолчанию ISA Server 2006 использует формат «Имя домена NETBIOS »Пользователь», когда запрашивает билет Kerberos. Таким образом, доменное имя и имя пользователя в билете Kerberos будут напоминать следующее:
Пользователь: FirstName.LastNameRealm: MyCompanyТем не менее, некоторые веб-сайты требуют полностью квалифицированного доменного имени (ФЗДН) в билете Kerberos. В этом случае доменное имя и имя пользователя в билете Kerberos должны напоминать следующее:
Пользователь: FirstName.LastNameRealm: MyCompany.EMEA.INTRA
Дополнительная информация
Теперь доступно обновление, которое позволяет управлять доменным именем и форматом имени пользователя в сценариях kerberos Constrained Delegation. Чтобы применить это обновление, выполните следующие действия:
-
Скачать пакет свертывания hotfix, который упоминается в статье Microsoft Knowledge Base 960148.
960148 Описание пакета hotfix ISA Server 2006: 19 ноября 2008 г.
-
Установите пакет свертывания hotfix на всех компьютерах ISA Server.
-
Запустите программу Блокнот.
-
Вставьте следующий скрипт в файл Блокнота.
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "UseFQDNinKerberosTicket"Const SE_VPS_VALUE = 2Sub SetValue() ' Create the root obect. Dim root ' The FPCLib.FPC root object Set root = CreateObject("FPC.Root") 'Declare the other objects needed. Dim array ' An FPCArray object Dim VendorSets ' An FPCVendorParametersSets collection Dim VendorSet ' An FPCVendorParametersSet object ' Get references to the array object ' and the network rules collection. Set array = root.GetContainingArray Set VendorSets = array.VendorParametersSets On Error Resume Next Set VendorSet = VendorSets.Item( SE_VPS_GUID ) If Err.Number <> 0 Then Err.Clear ' Add the item Set VendorSet = VendorSets.Add( SE_VPS_GUID ) CheckError WScript.Echo "New VendorSet added... " & VendorSet.Name Else WScript.Echo "Existing VendorSet found... value- " & VendorSet.Value(SE_VPS_NAME) End If if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then Err.Clear VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE If Err.Number <> 0 Then CheckError Else VendorSets.Save false, true CheckError If Err.Number = 0 Then WScript.Echo "Done with " & SE_VPS_NAME & ", saved!" End If End If Else WScript.Echo "Done with " & SE_VPS_NAME & ", no change!" End IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
Сохраните этот файл на одном из компьютеров ISA Server 2006. Используйте расширение имени файла .vbs. Например, назовите файл ISA2006UseF-DInKerberosTicket.vbs.
-
Для запуска скрипта дважды щелкните файл .vbs.
Заметка В скрипте в этой процедуре используется значение по умолчанию для свойства Const SE_VPS_VALUE (Const SE_VPS_VALUE No 2). Вы можете изменить это значение в соответствии со следующим списком:
-
Если вы установите Const SE_VPS_VALUE No 0, имя домена NETBIOS используется для доменного имени. Пример:Пользователь: Имя.ИмяRealm: MyCompany
-
Если вы установите Const SE_VPS_VALUE No 1, для имени пользователя используется основное имя пользователя (UPN), а для доменного имени используется F-DN. Пример:Пользователь: FirstName.LastName@MyCompany.EMEA.INTRARealm: MyCompany.EMEA.INTRA
-
Если вы установите Const SE_VPS_VALUE No 2, то для доменного имени используется F-DN. Пример:Пользователь: FirstName.LastNameRealm: MyCompany.EMEA.INTRA