Sintomi
Dopo l'applicazione di Microsoft Internet Security and Acceleration (ISA) Server Service Pack 1 (SP1) o se si utilizza Microsoft Forefront Threat Management Gateway (TMG) 2010, è possibile notare che la funzione "Modifica password" non funziona come previsto. Nelle impostazioni di Active Directory, ad esempio, si attiva l'impostazione "Cambiamento obbligatorio password all'accesso successivo" per un determinato account utente. Tuttavia, quando l'utente tenta di accedere al sistema utilizzando l'autenticazione basata su form (FBA) quando è attivata la funzionalità di "Modifica password" in ISA Server o Server TMG, l'utente non verrà reindirizzato automaticamente alla maschera che viene utilizzato per modificare la password.
Causa
Questo problema si verifica quando si utilizza il FBA con LDAP Lightweight Directory Access Protocol (). In ISA Server 2006 SP1, è stato modificato il comportamento predefinito quando si utilizza FBA con LDAP. Questa modifica apportata a proteggersi contro gli attacchi di autenticazione. Per ulteriori informazioni, visitare la sezione "Modifiche in Service Pack 1" del sito Web Microsoft TechNet seguente:
Risoluzione
Per risolvere questo problema, attenersi alla seguente procedura:
-
Installare l'hotfix descritto nell'articolo della Microsoft Knowledge Base seguente:
959357 Descrizione del pacchetto hotfix di ISA Server 2006: 29 ottobre 2008Si noti che il primo passaggio non è applicabile per il Server Microsoft Threat Management Gateway (TMG). La correzione è inclusa nel prodotto.
-
Avviare Blocco note.
-
Incollare lo script seguente nel file di blocco note.
' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-' 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
-
Salvare il file di blocco note utilizzando l'estensione vbs. Per salvare il file, ad esempio, utilizzare il seguente nome:
EnableHotfix957859.vbs
-
Aprire un prompt dei comandi, passare al percorso in cui è stato salvato il file EnableHotfix957859.vbs e quindi digitare il seguente comando:
Cscript EnableHotfix957859.vbs /webListener: < nome del listener > /Value:trueNota In questo comando sostituire < nome del listener > con il nome effettivo del listener Web.
Importante: se si desidera rimuovere l'hotfix 959357, aprire un prompt dei comandi, passare alla posizione in cui è stato salvato il file EnableHotfix957859.vbs e quindi digitare il seguente comando: Cscript EnableHotfix957859.vbs /webListener: < nome del listener di> /Value:falseNota In questo comando sostituire <nome del listener> con il nome effettivo del listener Web.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Per ulteriori informazioni in merito alla terminologia dell'aggiornamento del software, fare clic sul seguente numero di articolo per vedere l'articolo nella Microsoft Knowledge Base:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft