เมนู

SSO (การลงชื่อเพียงครั้งเดียว) โดยใช้การรับรองความถูกต้อง Windows แบบรวมของ IIS

สารบัญ

ภาพรวมการรับรองความถูกต้องของ Windows แบบรวม

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

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

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

ขั้นตอน SSO (การลงชื่อเพียงครั้งเดียว)

แผนขั้นสูงสุดของ Chat&Messenger On-Premise ช่วยให้ SSO มีการรับรองความถูกต้องของ Windows ในตัว ขั้นตอน SSO มีดังนี้

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

ID ผู้ใช้ของผู้ใช้ที่ต้องการใช้ SSO จะต้องตรงกับ UserPrincipalName ใน Active Directory และต้องลงทะเบียนใน Chat&Messenger ไว้ล่วงหน้า UserPrincipalName คือ ฉันต้องการรับรายชื่อผู้ใช้ Active Directory และสร้าง CSV กรุณาดูข้อมูลต่อไปนี้ด้วย

ข้อกำหนดสำหรับการบรรลุสปส

เข้าร่วม Windows Server กับโดเมน

โปรดเข้าร่วม Windows Server ที่รัน CAMServer/IIS กับโดเมน Active Directory

หากต้องการตรวจสอบโดเมนที่ Windows Server ที่มีอยู่เข้าร่วม ให้ไปที่ "ตัวจัดการเซิร์ฟเวอร์" → คลิก "เซิร์ฟเวอร์ภายใน" บนเมนูทางด้านซ้าย → คลิก "ชื่อคอมพิวเตอร์" และดูคอลัมน์โดเมน

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

การติดตั้ง IIS

ติดตั้ง IIS จากบทบาทเซิร์ฟเวอร์

เมื่อติดตั้ง IIS โปรดตรวจสอบสิ่งต่อไปนี้ในตัวเลือกการเลือกบริการบทบาท

  • การรับรองความถูกต้องของ Windows
  • ตัวกรอง ISAPI
  • การติดตั้งส่วนขยาย ISAPI แยกต่างหาก

โปรดเรียกใช้ IIS บนเซิร์ฟเวอร์เดียวกันกับ CAMServer และบนพอร์ต 80

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

ส่วนขยาย ISAPI: เพิ่มส่วนขยาย ISAPI ให้กับ IIS จำเป็นสำหรับการดำเนินการ AspNetCoreModuleV2 เริ่มตัวจัดการ IIS (iisreset)

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

ชุดโฮสติ้งหลัก ASP.NET กรุณาติดตั้ง.

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

หลังการติดตั้ง ให้รีสตาร์ท IIS และตรวจสอบให้แน่ใจว่า AspNetCoreModuleV2 มีอยู่ในการแมปตัวจัดการ

เริ่ม IIS ใหม่
การแมปตัวจัดการ

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

เพิ่มแอปพลิเคชัน cam-iissso ไปยังเว็บไซต์เริ่มต้น

  • นามแฝง: cam-iissso
  • เส้นทางทางกายภาพ: \sys\cam-iissso-net8.0

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

เปิดใช้งานการรับรองความถูกต้องของ Windows

คลิกขวาที่ "Windows Authentication" และเลือก "Enable"

หากเปิดใช้งาน "การรับรองความถูกต้องแบบไม่ระบุชื่อ" โปรดปิดการใช้งาน

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

เพิ่มไซต์ที่ IIS จัดเตรียมไว้ในโซนอินทราเน็ต

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

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

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

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

การตั้งค่า LDAP

เมื่อดำเนินการลงชื่อเข้าระบบครั้งเดียวโดยใช้ IISการตั้งค่า LDAP(ผู้ใช้ LDAPUrl, LDAPBaseDN, AD ดำเนินการตรวจสอบพร็อกซี)

เข้าถึงผ่าน FQDN (ชื่อโดเมนที่มีคุณสมบัติครบถ้วน) และลงทะเบียน SPN

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

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

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

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

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

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

เซ็ตสปน-L ad$

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

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

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

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

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

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