DefaultCredentials ไม่ได้เปลี่ยนการเข้าสู่ระบบ Windows ของคุณให้เป็นรหัสผ่าน Basic
ปรับบริบทความปลอดภัยเริ่มต้นของ .NET ให้เข้ากับรูปแบบการตรวจสอบสิทธิ์ของพร็อกซี แทนที่จะคาดหวังให้บัญชี Basic ที่บันทึกไว้ในเบราว์เซอร์ปรากฏขึ้นเองโดยอัตโนมัติ
เบราว์เซอร์จดจำบัญชีพร็อกซี ไคลเอนต์ .NET ของคุณใช้ CredentialCache.DefaultCredentials และได้รับ 407 โดยไม่มีการลองใหม่ที่คุณคาดไว้ ข้อเท็จจริงสองข้อนี้เข้ากันได้
DefaultCredentials แสดงถึงบริบทความปลอดภัยปัจจุบันสำหรับการตรวจสอบสิทธิ์แบบรวมที่รองรับ Microsoft เอกสารการใช้งานกับ NTLM, Negotiate และ Kerberos นี่ไม่ใช่คำขอให้ดึงชื่อผู้ใช้และรหัสผ่านแบบข้อความธรรมดาจากการเข้าสู่ระบบที่บันทึกไว้ในเบราว์เซอร์
หากพร็อกซีเสนอ Basic และต้องใช้บัญชีแยกต่างหาก ให้กำหนดค่าบัญชีนั้นผ่านอินเทอร์เฟซข้อมูลรับรองของพร็อกซีที่ไคลเอนต์รองรับ NetworkCredential ที่ชัดเจนและบริบทความปลอดภัย Windows ปัจจุบันเป็นอินพุตที่แตกต่างกัน
ตรวจสอบความท้าทายที่ประกาศไว้ก่อนเปลี่ยนรหัสผ่าน ตรวจสอบด้วยว่าบริบทผู้ใช้ใดเป็นผู้เรียกใช้แอปพลิเคชัน ไฟล์เรียกทำงานบนเดสก์ท็อปและบริการอาจมีตัวตนต่างกันแม้จะเริ่มบนคอมพิวเตอร์เครื่องเดียวกัน
ไม่มีเหตุผลที่จะคัดลอกบัญชีไปยังพร็อพเพอร์ตีข้อมูลรับรองของปลายทางด้วย เก็บการเข้าสู่ระบบของตัวกลางไว้กับตัวกลาง การวินิจฉัยที่เป็นประโยชน์ระบุสามสิ่ง: พร็อกซีที่เลือก รูปแบบที่ร้องขอ และชนิดของข้อมูลรับรองที่แอปพลิเคชันให้มาจริง