Проблемы
После установки Microsoft Internet Security and Acceleration (ISA) Server Пакет обновления 1 (SP1) или при использовании Microsoft Forefront угроз Management Gateway (TMG) 2010, можно заметить, функция «Смена пароля» не работает должным образом. Например в настройках службы каталогов Active Directory, включить параметр «Требовать смену пароля при следующем входе в систему» для определенной учетной записи пользователя. Тем не менее если пользователь пытается войти в систему с помощью проверки подлинности на основе форм (FBA), когда включена функция «Смена пароля» в ISA-сервер или сервер TMG, не перенаправляется пользователь автоматически форма, используемая для изменения пароля.
Причина
Эта проблема возникает, когда FBA используется вместе с LDAP Lightweight Directory Access Protocol (). В ISA Server 2006 SP1 по умолчанию было изменено при использовании FBA вместе с LDAP. Это изменение было внесено, помогающих защититься от атак проверки подлинности. Для получения дополнительных сведений посетите раздел «Изменения в Пакет обновления 1» TechNet веб-узлу Microsoft:
Решение
Чтобы устранить эту неполадку, выполните следующие действия:
-
Установите исправление, описанное в следующей статье базы знаний Майкрософт:
959357 Описание пакета исправлений для ISA Server 2006: 29 октября 2008 г.Обратите внимание, что первый шаг неприменим для сервера Microsoft угроз Management Gateway (TMG). Включение этих исправлений в продукт.
-
Запустите программу Блокнот.
-
Вставьте следующий сценарий в файл блокнота.
' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' This code is Copyright (c) 2007 Microsoft Corporation. '' All rights reserved.'' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A' PARTICULAR PURPOSE.'' IN NO EVENT SHALL MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS BE' LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE' OF THIS CODE OR INFORMATION.'' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-If Not WScript.Arguments.Named.Exists("WebListener") Then WScript.Echo "WebListener not defined" WScript.Quit(1)End IfSet fpcRoot = CreateObject("FPC.Root")Set fpcArray = fpcRoot.GetContainingArray()Set fpcWebListener = fpcArray.RuleElements.WebListeners(WScript.Arguments.Named("WebListener"))Set fpcWebListenerVps = fpcWebListener.VendorParametersSetsOn Error Resume NextSet fpcCookieAuthVps = fpcWebListenerVps.Item("{29022EBA-B030-4839-9CA6-DD8875BC7B47}")If Err.number = 0 Then CookieAuthVpsExists = TrueElse CookieAuthVpsExists = FalseEnd IfErr.ClearOn Error GoTo 0If Not CookieAuthVpsExists Then WScript.Echo "Cookie auth VPS settings not defined, hotfix 957859 disabled"Else On Error Resume Next WScript.Echo "EnableLDAPPasswordExpiration: " & (fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = True)End IfIf WScript.Arguments.Named.Exists("Value") Then If Not CookieAuthVpsExists Then Set fpcCookieAuthVps = fpcWebListenerVps.Add("{29022EBA-B030-4839-9CA6-DD8875BC7B47}") End If fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = (StrComp(WScript.Arguments.Named("Value"), "True", 1) = 0) fpcArray.Save WScript.Echo "EnableLDAPPasswordExpiration set to " & (fpcCookieAuthVps.Value("EnableLDAPPasswordExpiration") = True)End If
-
Сохраните этот файл с помощью расширение .vbs. Например можно используйте следующее имя для сохранения этого файла:
EnableHotfix957859.vbs
-
Откройте командную строку, перейдите в ту папку, где сохранен файл EnableHotfix957859.vbs и введите следующую команду:
/WebListener Cscript EnableHotfix957859.vbs: < имя прослушивателя > /Value:trueПримечание. В этой команде замените < имя прослушивателя > фактическое имя веб-прослушивателя.
Внимание: Если вы хотите удалить исправление 959357, откройте командную строку, перейдите в папку, где сохранен файл EnableHotfix957859.vbs и введите следующую команду: Cscript EnableHotfix957859.vbs /webListener: < имя прослушивателя> /Value:falseПримечание в этой команде замените <имя прослушивателя> фактическое имя веб-прослушивателя.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт