ฉันบอกว่าเป็นไปได้ที่จะสร้างเว็บแอปพลิเคชันที่ไม่ต้องการการเข้าสู่ระบบ ผู้ใช้เข้าสู่ระบบ Windows ซึ่งรับรองความถูกต้องผ่านการค้นหา Active Directory (LDAP) จากนั้นพวกเขาควรจะสามารถไปที่เว็บแอพของฉันและไม่เห็นข้อความแจ้งการเข้าสู่ระบบ ลูกค้าเหล่านี้อ้างถึงสิ่งนี้ว่าการลงชื่อเพียงครั้งเดียว (อาจไม่ถูกต้องและเป็นส่วนหนึ่งของความสับสนของฉัน)
แต่จากสิ่งที่ฉันอ่าน Single Sign On จาก Tomcat docs คือ:
Single Sign On Valve จะถูกใช้เมื่อคุณต้องการให้ผู้ใช้สามารถลงชื่อเข้าใช้แอปพลิเคชันเว็บใด ๆ ที่เชื่อมโยงกับโฮสต์เสมือนของคุณจากนั้นให้มีการระบุตัวตนของพวกเขาโดยเว็บแอปพลิเคชันอื่น ๆ ทั้งหมดบนโฮสต์เสมือนเดียวกัน
ชัดเจนสำหรับฉันอย่างสมบูรณ์ ผู้ใช้จะต้องเข้าสู่ระบบครั้งเดียวและสามารถเข้าถึงเว็บแอพพลิเคชั่นทุกตัวบนอินสแตนซ์ของ Tomcat แต่สิ่งที่ฉันต้องทำก็คือให้พวกเขาเข้าสู่ระบบโดยไม่ต้องให้ข้อมูลประจำตัวใด ๆ กับเซิร์ฟเวอร์ Tomcat ของฉัน
ดังนั้นในการทำงานนี้ฉันจึงจินตนาการ:
- ผู้ใช้ทำการร้องขอสำหรับบางหน้า
- เซิร์ฟเวอร์ไม่เห็นโทเค็นเซสชันแล้วขอให้ไคลเอนต์สำหรับข้อมูลประจำตัวบางอย่าง
- เบราว์เซอร์ไคลเอนต์โดยไม่มีการแทรกแซงจากผู้ใช้ให้ข้อมูลประจำตัวบางอย่างไปยังเซิร์ฟเวอร์
- จากนั้นใช้ข้อมูลประจำตัวที่ได้รับจากเบราว์เซอร์ไคลเอนต์ซึ่งจะทำการค้นหาใน LDAP
ฉันเคยเห็นตัวอย่างบางส่วนที่ใช้ใบรับรองฝั่งไคลเอ็นต์ ... โดยเฉพาะอย่างยิ่งระบบ DoD PKI ซึ่งเหมาะสมสำหรับฉันเพราะในกรณีเหล่านั้นคุณกำหนดค่า Tomcat เพื่อร้องขอใบรับรองฝั่งไคลเอ็นต์แต่เพิ่งเข้าสู่ระบบ windows ฉันไม่เห็นว่าสิ่งนี้ จะใช้งานได้และข้อมูลใดที่เบราว์เซอร์จะส่งไปยังเซิร์ฟเวอร์ ฯลฯ นี่คือสิ่งที่ NTLM ใช้สำหรับ?