Objawy
Po zainstalowaniu programu Microsoft Internet Security and Acceleration (ISA) Server z dodatkiem Service Pack 1 (SP1) lub jeśli używasz Microsoft zagrożenie Management Gateway (Poruszać) 2010, można zauważyć, że funkcja "Zmiana hasła" nie działa zgodnie z oczekiwaniami. Na przykład w ustawieniach usługi Active Directory, włącz ustawienie "Użytkownik musi zmienić hasło przy następnym logowaniu" dla konta użytkownika. Jednakże gdy użytkownik próbuje zalogować się przy użyciu uwierzytelniania opartego na formularzach (FBA) po włączeniu funkcji "Zmiana hasła" ISA Server lub serwer TMG, użytkownik nie zostanie automatycznie przekierowana do formularza, który jest używany do zmiany hasła.
Przyczyna
Ten problem występuje, gdy FBA jest używany wraz z LDAP Lightweight Directory Access Protocol (). ISA Server 2006 z dodatkiem SP1 domyślne zachowanie została zmieniona, gdy używasz FBA wraz z LDAP. Ta zmiana została wprowadzona, aby pomóc zabezpieczyć się przed atakami uwierzytelniania. Aby uzyskać więcej informacji odwiedź sekcję "Zmiany w dodatku Service Pack 1" o następującą witrynę TechNet firmy Microsoft w sieci Web:
Rozwiązanie
Aby rozwiązać ten problem, wykonaj następujące czynności:
-
Instalowanie pakietu poprawki, którą opisano w następującym artykule bazy wiedzy Microsoft Knowledge Base:
959357 Opis pakietu poprawek dla programu ISA Server 2006: 29 października 2008Należy pamiętać, że pierwszy krok nie ma zastosowania dla serwera Microsoft Threat Management Gateway (TMG). Poprawka jest zawarta w produkcie.
-
Uruchom program Notatnik.
-
Wklej następujący skrypt do pliku Notatnika.
' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' 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
-
Zapisz ten plik Notatnika korzystając z rozszerzenia nazwy pliku vbs. Aby zapisać ten plik, na przykład, użyć następującej nazwy:
EnableHotfix957859.vbs
-
Otwórz okno wiersza polecenia, przejść do lokalizacji, w której został zapisany plik EnableHotfix957859.vbs, a następnie wpisz następujące polecenie:
Cscript EnableHotfix957859.vbs weblistener: /Value:true < nazwa odbiornika >Uwaga W tym poleceniu należy zastąpić < nazwa odbiornika > Rzeczywista nazwa obiektu nasłuchującego sieci Web.
Ważne: Jeśli chcesz usunąć poprawkę 959357, otwórz wiersz polecenia, przejdź do lokalizacji, w której został zapisany plik EnableHotfix957859.vbs, a następnie wpisz następujące polecenie: Cscript EnableHotfix957859.vbs weblistener: < nazwa odbiornika> NazwaUwaga w tym poleceniu zastąp <Nazwa odbiornika> Rzeczywista nazwa obiektu nasłuchującego sieci Web.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Informacje
Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft