บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 2017

การติดตั้ง Shibboleth Single Sign-On
ตอนที่ 13 - การปรับแต่งหน้าล็อกอิน (ตอนจบ)

รูปภาพ
21. การทำให้หน้าล็อกอินแตกต่างกันไปแต่ละแอพพลิเคชัน หากเราต้องการให้หน้าล็อกอินแตกต่างกันไปในแต่ละแอพพลิเคชัน เช่น ปัจจุบันเรามีแอพพลิเคชันอยู่ 3 ตัวคือ app1, app2 และ app3 แต่ไฟล์ที่เราใช้ทำหน้าล็อกอินจะเป็นไฟล์เดียวกันทั้งหมดคือไฟล์ login.jsp ที่อยู่ในโฟลเดอร์ apache-tomcat-6.0.18\webapps\idp ดังนั้นหากเราต้องการให้ผู้ใช้เห็นหน้าล็อกอินแตกต่างกันไปในแต่ละแอพพลิเคชัน เราจำเป็นต้องแก้ไขโปรแกรมที่ Shibbolet IdP เขียนไว้ให้ในหน้า login.jsp นั่นเอง 21.1 ดึงชื่อแอพพลิเคชันผ่านทาง _shibstate_xxx จากการสำรวจดูในค่า Cookie พบว่า Shibboleth SP จะฝังตำแหน่งที่ผู้ใช้รีเควสต์เข้ามาไว้ในคุ๊กกี้ชื่อว่า _shibstate_xxxx โดยตัว xxxx ด้านหลังเป็นรหัสตัวเลขที่ SP สร้างขึ้นมาและเปลี่ยนแปลงไปเรื่อย ดังนั้นวิธีง่ายๆที่เราจะได้ความแตกต่างกันในแต่ละแอพพลิเคชันคือ เอาชื่อแอพพลิเคชันที่ติดพาธ URL ที่อยู่ในคุ๊กกี้ตัวนี้ เปิดไปที่ไฟล์ login.jsp ของ IdP ปกติไฟล์นี้จะอยู่ในโฟลเดอร์ apache-tomcat-6.0.18\webapps\idp เปิดขึ้นมาแก้ไขโดยเติมโปรแกรมเข้าไปดังนี้ ซอร์สโค้ด 6 ไฟล์ login.jsp ที่ใช้เป็นหน้าล็อกอิ

การติดตั้ง Shibboleth Single Sign-On
ตอนที่ 12 - การทำ SLO (Single Log-out)

รูปภาพ
19. การติดตั้ง Shibboleth แบบไม่ใช้ SSL ปัญหาที่เราจะพบในการใช้ SSL คือ ปัจจุบันเราใช้ Self Certificate X509 v3 ในการเข้ารหัสเพื่อทำ SSL ระหว่างตัว SP และ IdP แต่หากนำไปใช้งานกับ Internet Explorer จะพบข้อความแจ้งเตือนทุกครั้งก่อนที่เข้าถึงหน้าจอล็อกอิน เนื่องจาก Internet Explorer ตรวจสอบพบว่า Self Certificate ที่เราใช้งานนี้ไม่ได้รับรองโดย CA (Certificate Authority) ซึ่งหากเราต้องการเลี่ยงข้อความแจ้งเตือนดังกล่าวนี้ เราสามารถทำได้ 2 วิธีคือ 1.    ขอซื้อ Certificate X509 v3 ที่ถูกต้องและได้รับการรับรองจาก CA ที่มีได้รับการเชื่อถือ (Trust) ทางตรง หรือ ทางอ้อมจาก Internet Explorer (ดูที่รายการ Trust Root Certificate ในหน้าต่างปรับแต่งค่า Security ของ Internet Explorer) 2.    ไม่ใช้ SSL ของ Tomcat ทางพอร์ต 8443 และใช้พอร์ต HTTP ปกติที่หมายเลข 8080 แทน ในที่นี้จะแสดงวิธีการปรับแต่งไฟล์ idp-metadata.xml และ shibboleth2.xml แบบที่เลี่ยงการใช้งาน SSL และใช้พอร์ต HTTP 8080 ตามปกติของ Tomcat 19.1 แก้ไขไฟล์ idp-metadata.xml ไปที่โฟลเดอร์ c:\sso\shibboleth-idp\metadata แล้วแก้ไขไฟล์ i