Simptome
După ce aplicați Microsoft Internet Security și Acceleration (ISA) Server Service Pack 1 (SP1) sau dacă utilizați Microsoft Forefront Threat Management Gateway (TMG) 2010, este posibil să observați că caracteristica "schimbare parolă" nu funcționează conform așteptărilor. De exemplu, în setările de Active Directory, activați setarea "User must change password at next logon" pentru un anumit cont de utilizator. Cu toate acestea, atunci când utilizatorul încearcă să faceți log on utilizând autentificarea bazată pe formulare (FBA), atunci când este activată caracteristica "schimbare parolă" în ISA Server sau TMG Server, utilizatorul nu este automat redirecționată formular care este utilizat pentru a modifica parola.
Cauză
Această problemă apare atunci când FBA este utilizat împreună cu Lightweight Directory Access Protocol (LDAP). În ISA Server 2006 SP1, comportamentul implicit s-a schimbat atunci când utilizați FBA împreună cu LDAP. Această modificare s-a făcut pentru a vă proteja împotriva atacurilor de autentificare. Pentru mai multe informații, vizitați secțiunea "Schimbări Service Pack 1" din următorul site Microsoft TechNet Web:
Rezolvare
Pentru a rezolva această problemă, urmați acești pași:
-
Instalați pachetul de remediere rapidă care este descrisă în următorul articol din baza de cunoștințe Microsoft:
959357 Descrierea pachetului de remediere rapidă ISA Server 2006: 29 octombrie 2008Vă rugăm să rețineți că primul pas nu se aplică pentru Microsoft Threat Management Gateway (TMG) Server. Remedierea rapidă este inclus în produs.
-
Porniți Notepad.
-
Lipiți următorul script în fișierul Notepad.
' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' 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
-
Salvați acest fișier Notepad utilizând extensia numelui de fișier .vbs. De exemplu, utilizați următorul nume să salvați acest fișier:
EnableHotfix957859.vbs
-
Deschideți un prompt de comandă, mutați în locația unde ați salvat fișierul EnableHotfix957859.vbs și apoi tastați următoarea comandă:
Cscript EnableHotfix957859.vbs /webListener: < nume de ascultare > /Value:trueNotă În această comandă, înlocuiţi < nume de ascultare > cu numele real al listenerul Web.
Important: dacă doriți să eliminați hotfix 959357, deschideți un prompt de comandă, navigați la locația unde ați salvat fișierul EnableHotfix957859.vbs și apoi tastați următoarea comandă: Cscript EnableHotfix957859.vbs /webListener: < nume de ascultare> /Value:falseNotă în această comandă, înlocuiţi <nume de ascultare> cu numele real al listenerul Web.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Referințe
Pentru mai multe informaţii despre terminologia privind actualizarea software-ului, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:
824684 Descrierea terminologiei standard care este utilizată pentru a descrie actualizările de software Microsoft