อาการ
หลังจากที่คุณใช้ Microsoft Internet Security และการเร่งความเร็ว (ISA) Server Service Pack ที่ 1 (SP1) หรือถ้าคุณใช้ Microsoft Forefront คุกคามจัดการเกตเวย์ (TMG) 2010 คุณอาจสังเกตเห็นว่า ลักษณะการทำงาน "การเปลี่ยนรหัสผ่าน" ไม่ทำงานตามที่คาดไว้ ตัวอย่างเช่น ในการตั้งค่าไดเรกทอรีที่ใช้งานอยู่ คุณเปิดใช้งาน "ผู้ใช้ต้องเปลี่ยนรหัสผ่านเมื่อเข้าสู่ระบบถัดไป" การตั้งค่าบัญชีผู้ใช้บางอย่าง อย่างไรก็ตาม เมื่อผู้ใช้พยายามเข้าสู่ระบบ โดยใช้การรับรองโดยใช้ฟอร์ม (FBA) เมื่อมีการเปิดใช้งานคุณลักษณะ "การเปลี่ยนรหัสผ่าน" ใน ISA Server หรือเซิร์ฟเวอร์ TMG ผู้ใช้จะไม่อัตโนมัติเปลี่ยนเส้นทางไปยังแบบฟอร์มที่ใช้ในการเปลี่ยนรหัสผ่าน
สาเหตุ
ปัญหานี้เกิดขึ้นเมื่อ FBA ถูกใช้ร่วมกับน้ำหนักเบาและไดเรกทอรีเข้าถึงโพรโทคอล (LDAP) ใน ISA Server 2006 SP1 ลักษณะการทำงานเริ่มต้นถูกเปลี่ยนแปลงเมื่อคุณใช้ FBA ร่วมกับ LDAP ทำการเปลี่ยนแปลงนี้จะช่วยป้องกันการโจมตีการรับรองความถูกต้อง สำหรับข้อมูลเพิ่มเติม แวะไปที่ส่วน "การเปลี่ยนแปลงใน Service Pack 1" ของ Microsoft TechNet เว็บไซต์ต่อไปนี้:
การแก้ไข
หากต้องการแก้ปัญหานี้ ให้ทำตามขั้นตอนต่างๆ ต่อไปนี้:
-
ติดตั้งแพคเกจโปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
959357 คำอธิบายเกี่ยวกับแพคเกจโปรแกรมแก้ไขด่วนของ ISA Server 2006:29 ตุลาคม 2008โปรดสังเกตว่า ขั้นตอนแรกไม่สามารถใช้ได้สำหรับเซิร์ฟเวอร์ของเกตเวย์จัดการความเสี่ยงของ Microsoft (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 และจากนั้น พิมพ์คำสั่งต่อไปนี้:
Cscript จะ EnableHotfix957859.vbs /webListener: <ชื่อตัวฟัง > /Value:trueหมายเหตุ ในคำสั่งนี้ แทน <ตัวฟังชื่อ > ด้วยชื่อจริงของตัวฟังที่เว็บ
สิ่งสำคัญ: ถ้าคุณต้องการเอาโปรแกรมแก้ไขด่วน 959357 เปิดพร้อมท์คำสั่ง เรียกดูไปยังตำแหน่งที่คุณบันทึกแฟ้ม EnableHotfix957859.vbs และจากนั้น พิมพ์คำสั่งต่อไปนี้: EnableHotfix957859.vbs cscript จะ /webListener: < ชื่อตัวฟัง> /Value:falseหมายเหตุในคำสั่งนี้ แทน <ตัวฟังชื่อ> ด้วยชื่อจริงของตัวฟังที่เว็บ
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft