เมนู

SSO โดยใช้การตรวจสอบสิทธิ์ Windows แบบบูรณาการของ IIS

โปรดใช้สิ่งต่อไปนี้ในสภาพแวดล้อมที่ติดตั้งใหม่

สารบัญ

ภาพรวมของการตรวจสอบสิทธิ์แบบบูรณาการของ Windows

การตรวจสอบสิทธิ์แบบรวมใน Windows (IWA) เป็นกลไกที่ให้ข้อมูลการตรวจสอบสิทธิ์ผู้ใช้แก่ IIS โดยอัตโนมัติ เมื่อทั้ง IIS และผู้ใช้ล็อกอินเข้าสู่โดเมนเดียวกัน เมื่อคุณสร้างไซต์ด้วย C# ของ ASP.NET คุณสามารถตรวจสอบได้ว่าผู้ใช้ได้รับการตรวจสอบสิทธิ์แล้วหรือไม่ และดึงข้อมูลเกี่ยวกับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์แล้วได้

วิธีนี้ช่วยให้ผู้ใช้สามารถเข้าถึงเว็บแอปพลิเคชันที่โฮสต์ (หรือผสานรวมเข้ากับ) IIS โดยไม่ต้องเข้าสู่ระบบเพิ่มเติม และยังช่วยให้สามารถผสานรวม SSO กับเซิร์ฟเวอร์แอปพลิเคชันอื่นๆ ได้อีกด้วย

*หากผู้ใช้ไม่ได้เข้าร่วมโดเมนเดียวกันหรือไม่ได้รับการตรวจสอบสิทธิ์ หน้าเว็บ IIS จะแสดงหน้าต่างให้เข้าสู่ระบบ และหากการตรวจสอบสิทธิ์ไม่ถูกต้อง จะเกิดข้อผิดพลาด HTTP 401.1 – ไม่ได้รับอนุญาต

ขั้นตอนการเข้าสู่ระบบแบบ Single Sign-On (SSO)

แพ็กเกจ Chat&Messenger Ultimate แบบติดตั้งบนเซิร์ฟเวอร์ภายในองค์กร ช่วยให้สามารถเข้าสู่ระบบแบบ Single Sign-On (SSO) ผ่านการตรวจสอบสิทธิ์ Windows ในตัว ขั้นตอนการเข้าสู่ระบบ SSO มีดังนี้:

  1. ขั้นแรก ไคลเอนต์จะเข้าถึงหน้าเว็บที่ผสานรวมการตรวจสอบสิทธิ์ของ Windows ที่ /cam-iissso
  2. หน้าเว็บ /cam-iissso ใช้ ASP.NET เพื่อตรวจสอบว่าผู้ใช้เข้าสู่ระบบแล้วหรือไม่ จากนั้นจึงเชื่อมต่อกับ CAMServer
  3. CAMServer จะทำการค้นหาข้อมูลใน LDAP เพื่อตรวจสอบว่าผู้ใช้เป็นผู้ใช้ AD ที่ถูกต้องหรือไม่ จากนั้นจะสร้าง URL สำหรับเข้าถึง CAMServer พร้อมกับ ssoToken (ค่าสุ่มที่ไม่ซ้ำกันขนาด 30 ไบต์ขึ้นไป) และร้องขอการเปลี่ยนเส้นทาง
  4. เข้าถึง CAMServer และยืนยันตัวตนโดยใช้ ssoToken เมื่อยืนยันตัวตนสำเร็จ ระบบจะกำหนด Session ID สำหรับการเข้าถึง API ให้

รหัสผู้ใช้ (User ID) ของผู้ใช้ที่ใช้ SSO ต้องตรงกับ UserPrincipalName ใน Active Directory และต้องลงทะเบียนใน Chat&Messenger ไว้ล่วงหน้าแล้ว UserPrincipalName คือ ฉันต้องการดึงรายชื่อผู้ใช้ Active Directory และสร้างไฟล์ CSV โปรดดูข้อมูลนี้เพิ่มเติมด้วย

ข้อกำหนดสำหรับการใช้งาน SSO

เชื่อมต่อ Windows Server เข้ากับโดเมน

โปรดเชื่อมต่อ Windows Server ที่ใช้งาน CAMServer/IIS เข้ากับโดเมน Active Directory

ในการตรวจสอบว่า Windows Server ที่มีอยู่เชื่อมต่อกับโดเมนใดบ้าง ให้ไปที่ "Server Manager" คลิก "Local Server" ในเมนูด้านซ้าย คลิก "Computer Name" และดูในช่องโดเมน

นอกจากนี้ IIS ควรอยู่บนเซิร์ฟเวอร์เดียวกันกับ CAMServer และทำงานบนพอร์ต 80 หากคุณวาง LoadBalancer ไว้ด้านหน้า CAMServer CAMServer จะทำงานบนพอร์ต 8080 ดังนั้น IIS จึงสามารถใช้พอร์ต 443 ได้เช่นกัน

การติดตั้ง IIS

ติดตั้ง IIS จากบทบาทเซิร์ฟเวอร์ ขณะติดตั้ง IIS ให้ตรวจสอบตัวเลือกต่อไปนี้ในตัวเลือกการเลือกบริการบทบาท

  • การตรวจสอบสิทธิ์ Windows
  • ตัวกรอง ISAPI
  • ส่วนขยาย ISAPI

ตัวกรอง ISAPI: รองรับการโหลดโมดูลส่วนขยายใน IIS จำเป็นสำหรับการโหลด AspNetCoreModuleV2

ส่วนขยาย ISAPI: เพิ่มส่วนขยาย ISAPI ให้กับ IIS ซึ่งจำเป็นสำหรับการทำงานของ AspNetCoreModuleV2

ติดตั้ง ASP.NET Core Hosting Bundle

แพ็กเกจโฮสติ้ง ASP.NET Core โปรดติดตั้ง หลังจากติดตั้งเสร็จแล้ว ให้รีสตาร์ท IIS และตรวจสอบว่า AspNetCoreModuleV2 ปรากฏอยู่ในแมปปิ้งของแฮนด์เลอร์แล้ว

ในการโฮสต์แอปพลิเคชัน ASP.NET Core ในสภาพแวดล้อม IIS เพียงแค่ติดตั้ง ASP.NET Core Hosting Bundle

เมื่ออัปเกรดรันไทม์ ASP.NET Core ให้ดาวน์โหลดและติดตั้งเฉพาะ Hosting Bundle เท่านั้นคุณสามารถตรวจสอบเวอร์ชันรันไทม์ของ ASP.NET Core ที่คุณใช้งานอยู่ได้โดยใช้คำสั่งต่อไปนี้:
dotnet –list-runtimes

การรีสตาร์ท IIS
การแมปตัวจัดการ

การเพิ่มแอปพลิเคชัน (cam-iissso)

โปรดเพิ่มแอปพลิเคชัน cam-iissso ลงในเว็บไซต์เริ่มต้นของคุณ

  • ชื่อเล่น: cam-iissso
  • เส้นทางทางกายภาพ: \sys\cam-iissso-net8.0

นอกจากนี้ ให้มอบสิทธิ์การเข้าถึงแบบอ่านอย่างเดียว (อ่านและเรียกใช้งาน แสดงรายการเนื้อหาโฟลเดอร์ อ่าน) ให้กับกลุ่ม IIS_IUSRS สำหรับโฟลเดอร์ cam-iissso-net8.0 ด้วย

เปิดใช้งานการตรวจสอบสิทธิ์ Windows

คลิกขวาที่ "การตรวจสอบสิทธิ์ของ Windows" แล้วเลือก "เปิดใช้งาน"

หากเปิดใช้งาน "การตรวจสอบสิทธิ์แบบไม่ระบุตัวตน" โปรดปิดใช้งาน

การตั้งค่าตัวเลือกอินเทอร์เน็ต

เพิ่มเว็บไซต์ที่ให้บริการโดย IIS ลงในโซนอินทราเน็ต

เลือกตัวเลือกอินเทอร์เน็ต คลิกแท็บความปลอดภัย และเลือกเครือข่ายภายใน (Local Intranet) คลิกปุ่มไซต์ เลือกขั้นสูง และเพิ่ม URL ของไซต์

ตรวจสอบการเข้าสู่ระบบอัตโนมัติ

คลิก "กำหนดระดับเอง" จากนั้นภายใต้ "การตรวจสอบสิทธิ์ผู้ใช้" → "เข้าสู่ระบบ" ตรวจสอบให้แน่ใจว่าได้เลือก "เข้าสู่ระบบอัตโนมัติในโซนอินทราเน็ต" แล้ว

การตั้งค่านี้จำเป็นสำหรับเทอร์มินัลไคลเอ็นต์ทั้งหมดของผู้ใช้ C&M แต่สามารถจัดการจากส่วนกลางได้โดยใช้คอนโซลการจัดการนโยบายกลุ่ม (Group Policy Management Console)

การตั้งค่า LDAP

หากคุณต้องการใช้งาน Single Sign-On โดยใช้ IISการตั้งค่า LDAP(จำเป็นต้องระบุ LDAPUrl, LDAPBaseDN และผู้ใช้ AD ที่ทำการตรวจสอบสิทธิ์พร็อกซี)

การเข้าถึงและการลงทะเบียน SPN โดยใช้ FQDN (Fully Qualified Domain Name)

การเข้าถึงหน้าการตรวจสอบสิทธิ์แบบบูรณาการของ IIS กับ Windows โดยใช้ชื่อโฮสต์ (ชื่อ NetBIOS) ไม่จำเป็นต้องลงทะเบียน แต่จำเป็นต้องลงทะเบียน SPN เมื่อเข้าถึงโดยใช้ FQDN (ชื่อโดเมนแบบเต็ม เช่น sso.example.com)

Service Principal Name (SPN) คือชื่อที่ใช้ในการตรวจสอบสิทธิ์ Kerberos เพื่อระบุบริการเฉพาะบน Active Directory อย่างไม่ซ้ำกัน เมื่อเข้าถึงบริการโดยใช้ชื่อโดเมนแบบเต็ม (FQDN) การลงทะเบียน SPN จะช่วยให้ไคลเอ็นต์สามารถขอตั๋ว Kerberos สำหรับบริการที่กำลังเข้าถึงได้อย่างถูกต้อง

ตัวอย่างเช่น https://sso.example.com เมื่อเข้าถึงบริการ ไคลเอนต์ (เบราว์เซอร์) จะร้องขอตั๋วจาก Active Directory โดยระบุว่า "ฉันต้องการเชื่อมต่อกับบริการที่ชื่อ HTTP/sso.example.com" Active Directory จะตรวจสอบว่า SPN นั้นเชื่อมโยงกับบัญชีใด และออกตั๋วบริการที่เกี่ยวข้อง หาก SPN ไม่ได้รับการลงทะเบียนอย่างถูกต้อง การตรวจสอบสิทธิ์ Kerberos จะล้มเหลว ส่งผลให้แสดงกล่องโต้ตอบการตรวจสอบสิทธิ์

การลงทะเบียน SPN จะดำเนินการสำหรับบัญชีคอมพิวเตอร์ที่โฮสต์ IIS ตัวอย่างเช่นโฆษณา สำหรับ IIS ที่ทำงานภายใต้ชื่อโฮสต์ [hostname] ให้ลงทะเบียน SPN ดังนี้:

setspn -S HTTP/sso.example.com ad$

หลังจากลงทะเบียนแล้ว คุณสามารถตรวจสอบได้โดยใช้คำสั่งต่อไปนี้:

setspn -L ad$

ผลลัพธ์นี้ HTTP/sso.example.com หากแสดงข้อความนี้ แสดงว่าการลงทะเบียน SPN ของคุณสำเร็จแล้ว

ไม่สามารถใช้งานได้ในสภาพแวดล้อมการเชื่อมต่อพร็อกซี HTTP

โปรดทราบว่า SSO ไม่สามารถใช้งานได้ในสภาพแวดล้อมการเชื่อมต่อพร็อกซี HTTP

การกำหนดค่าสภาพแวดล้อม LoadBalancer + SSL

หากคุณกำลังใช้งาน IIS Integrated Windows Authentication ในสภาพแวดล้อม LoadBalancer + SSL โปรดดูบทความในบล็อกต่อไปนี้

あわせて読みたい
การกำหนดค่าสำหรับการตรวจสอบสิทธิ์ Windows ที่ผสานรวมกับ IIS อย่างสำเร็จในสภาพแวดล้อมที่มีโหลดบาลานเซอร์และ SSL [เกี่ยวกับ Integrated Windows Authentication] Integrated Windows Authentication จะเปิดใช้งานการตรวจสอบสิทธิ์โดยอัตโนมัติเมื่อ IIS และผู้ใช้เป็นส่วนหนึ่งของโดเมน Active Directory เดียวกัน...
あわせて読みたい
การกำหนดค่า IIS เพื่อให้การตรวจสอบสิทธิ์ Windows แบบบูรณาการประสบความสำเร็จในสภาพแวดล้อมโหลดบาลานเซอร์ระดับ L4 [สรุป] บทความต่อไปนี้อธิบายวิธีการกำหนดค่าการตรวจสอบสิทธิ์แบบรวมของ Windows (IWA) ใน IIS ในสภาพแวดล้อมที่มีโหลดบาลานเซอร์ระดับ L4 และการยุติ SSL ...
  • URL をkoピーしました!
สารบัญ