ฉันมีแอพพลิเคชั่น ASP.NET Core 3.0 ที่ทำงานกับการรับรองความถูกต้อง Windows Intranet ในพื้นที่เพื่อระบุผู้ใช้ที่เข้าสู่ระบบ การใช้พฤติกรรมการตรวจสอบสิทธิ์ Windows แบบมาตรฐานฉันสามารถถ่ายภาพผู้ใช้ได้WindowsIdentity
โดยไม่มีปัญหา
แต่ขึ้นอยู่กับว่าผู้ใช้จะถูกบันทึกลงในเบราว์เซอร์ที่ใช้เข้าสู่ระบบอินทราเน็ตอัตโนมัติทั้งเบราว์เซอร์ (เช่น. ไม่มีโต้ตอบรหัสผ่าน) หรืออย่างชัดเจนในการเข้าสู่ระบบโดยใช้รหัสผ่านเบราว์เซอร์กล่องโต้ตอบฉันได้รับผลลัพธ์ที่แตกต่างกันสำหรับกลุ่มผู้ใช้
ต่อไปนี้เป็นคำขอ API ที่สะท้อนข้อมูลผู้ใช้รวมถึงรายชื่อสมาชิกกลุ่มที่ถูกกรอง (ยกเว้นบัญชีในตัว) ทางด้านซ้ายคือการเข้าสู่ระบบด้วยตนเองทางด้านขวาเป็นการเข้าสู่ระบบอัตโนมัติ
สำหรับการเข้าสู่ระบบอย่างชัดเจนฉันเห็นกลุ่มกำหนดเองทั้งหมดที่ผู้ใช้เป็นส่วนหนึ่ง อย่างไรก็ตามสำหรับการเข้าสู่ระบบอัตโนมัติกลุ่มเดียวกันเหล่านั้นจะไม่ปรากฏขึ้น:
ฉันยังได้ดูอินสแตนซ์ของผู้ใช้และตัวตนอย่างใกล้ชิดบนเซิร์ฟเวอร์และมันอ้างอิง SID ที่เหมือนกันสำหรับผู้ใช้ดังนั้นมันจึงแปลกที่ผลลัพธ์ที่แตกต่างกันจะถูกส่งคืนสำหรับการเป็นสมาชิกกลุ่ม
แนวคิดใดที่ว่าทำไมรายชื่อกลุ่มจึงแตกต่างกันเมื่อฉันได้รับบัญชีเดียวกันคืน โปรดทราบว่ากลุ่มอยู่ในพื้นที่ดังนั้นจึงไม่น่าเป็นปัญหาเนื่องจากการเข้าถึงโดเมน
หมายเหตุ: ฉันกำลังทดสอบแบบโลคัลบน localhost แม้และเพื่อทดสอบสิ่งนี้ฉันตั้งค่า Windows Proxy Settings ที่นี่:
เมื่อปิดช่องทำเครื่องหมายฉันถูกบังคับให้ลงชื่อเข้าใช้ เมื่ออยู่ใน (ในเบราว์เซอร์ Chromium) ฉันต้องป้อนข้อมูลรับรองของฉันลงในช่องโต้ตอบการเข้าสู่ระบบของเบราว์เซอร์อย่างชัดเจน