การติดตั้ง CAS เพื่อทำ Single Sign-on
การติดตั้ง CAS
Central Authentication Service
1. ชุดติดตั้ง
ก็อปปีชุดติดตั้งมาจาก CDROM ประกอบการสอน วางไว้ที่โฟลเดอร์ c:\cas\setup ซึ่งควรจะมีภาพดังต่อไปนี้
สังเกตว่าในโฟลเดอร์ modules จะมีไฟล์ cas.war ที่ถูกสร้างไว้เรียบร้อยแล้ว
ซึ่งการสร้างท่านสามารถไปดาวน์โหลดซอร์สโค้ดมาจากเว็บไซต์ http://www.ja-sig.org และใช้คำสั่ง
mvn install ซึ่งเป็นของ Apache Maven เพื่อสร้างไฟล์
WAR ตัวนี้ขึ้นมาได้
2. การติดตั้งเซิร์ฟเวอร์
ให้ติดตั้งโปรแกรมที่ทำหน้าที่เป็นเซิร์ฟเวอร์
ดังต่อไปนี้
·
apache-tomcat-6.0.18 ทำหน้าที่เป็น
Web Server ทางฝั่ง Java
·
Apache 2.2 ทำหน้าที่เป็น Web
Server ทางฝั่ง PHP
·
PHP ทำหน้าที่เป็น PHP
Script Runtime
·
Apache Directory Service ทำหน้าที่เป็น
LDAP Server
·
Apache Directory Studio ทำหน้าที่เป็นตัวเปิดดูรายการใน
LDAP Server
การติดตั้งโปรแกรมเหล่านี้ท่านสามารถไล่ไปได้ตาม
Setup Wizard ของโปรแกรมแต่ละตัว ยกเว้นโปรแกรม Tomcat
ที่ไม่จำเป็นต้องติดตั้ง ท่านเพียงแต่ก็อปปีโฟลเดอร์ apache-tomcat-6.0.18
จากโฟลเดอร์ setup มาวางไว้ที่ c:\cas\setup
เท่านั้น ก็ถือว่าเสร็จเรียบร้อย
หลังจากติดตั้งอุปกรณ์เหล่านี้เสร็จแล้ว ท่านอาจจะมีรายการโฟลเดอร์ใน c:\cas
ดังนี้
รูปภาพ 2 รายการโฟลเดอร์ของโปรแกรมแต่ละที่จะใช้ในการทดลอง
(ยกเว้น Apache Directory Service ที่ติดตั้งไว้ที่อื่น)
ให้เปิดโปรแกรม Apache Directory Studio และเข้าไปสร้าง user ไว้สัก 2 คน
ให้มีชื่อว่า user1 และ user2 โดยมีรหัสผ่านเป็น
password เช่นเดียวกันทั้ง 2 คน
3. การติดตั้งไฟล์ cas.war
ให้สตาทร์ apache-tomcat-6.0.18 แล้วก็อปปีไฟล์ cas.war จากโฟลเดอร์ c:\cas\setup
ไปวางไว้ที่ c:\cas\apache-tomcat-6.0.18\webapps เพื่อ Deploy Web Application หลังจากนั้นสตาทร์ Tomcat
ขึ้นมา และตรวจสอบว่าไม่มีข้อผิดพลาดใดเกิดขึ้น
Tomcat จะแตกไฟล์ cas.war ออกเป็นโฟลเดอร์
cas ซึ่งภายในจะมีส่วนประกอบดังนี้
4. การเปลี่ยนไปใช้ LDAP
ให้ก็อปปีไฟล์ deployerConfigContext.xml
จากโฟลเดอร์ c:\cas\setup\conf มาทับไฟล์ที่อยู่ในโฟลเดอร์ WEB-INF ของ cas และเปิดขึ้นมาตรวจสอบดูค่าคอนฟิก ดังนี้
และที่ส่วนท้ายของไฟล์ deployerConfigContext.xml
จะพบบีนเพิ่มเติมคือ contextSource ดังนี้
หากท่านนำไปใช้งานจริงในสำนักงานของท่าน
ท่านจำเป็นต้องเปลี่ยนค่า urls, userDn และ password ให้ตรงกับ LDAP Server ของท่านด้วยจึงจะใช้งานได้
5. เพิ่มเติมไฟล์ JAR
การเชื่อมต่อกับ LDAP ท่านจำเป็นต้องเพิ่มเติมไฟล์
JAR ลงไปที่ WEB-INF/lib ของ cas
อีกดังนี้
ก็อปปีไฟล์ JAR ที่อยู่ในโฟลเดอร์
c:\cas\setup\lib ใส่ไว้ใน WEB-INF/lib ของ cas แล้วสตาทร์ Tomcat ขึ้นมาใหม่อีกครั้ง
6. การทดสอบหลังการติดตั้ง
หลังจากสตาทร์ Tomcat และ LDAP
Server ไว้แล้วให้เบราซ์ไปที่ http://locahost:8080/cas/login จะได้ผลลัพธ์ดังนี้
ให้ทดลองล็อกอินด้วย user1 และ password กดปุ่ม LOGIN แล้วจะได้ผลลัพธ์ดังนี้
7. คอนฟิกให้ Tomcat ใช้ SSL
ก็อปปีไฟล์จากโฟลเดอร์ c:\cas\setup\key ไปวางไว้ที่ c:\cas ดังนี้
แล้วก็อปปีไฟล์ server.xml จากโฟลเดอร์ setup/conf มาวางทับไฟล์ server.xml
ใน apache-tomcat-6.0.18/conf ดังนี้
เมื่อเปิดไฟล์ server.xml ออกมาดูสังเกตการคอนฟิกให้ใช้งาน
SSL ดังนี้
เมื่อรีสตาทร์ Tomcat ขึ้นมาใหม่อีกครั้ง
ให้ทดลองเบราซ์ไปที่ https://localhost:8443/cas/login
ควรจะปรากฏหน้าเว็บและใช้งานได้ตามปกติ
8. การทดสอบไคลเอ็นต์ PHP
การใช้งานไคลเอ็นต์ที่เป็น PHP ท่านจำเป็นต้องติดตั้ง PHP และ Apache 2.2 ก่อน หลังจากนั้นให้ใช้คำสั่ง go-pear.bat เพื่อติดตั้ง
PEAR และ CAS-1.0.1.gz เข้าไปในระบบ PHP
หลังจากติดตั้งสำเร็จแล้วสังเกตว่าจะมีไฟล์ CAS.php อยู่ในโฟลเดอร์ PEAR ดังนี้
ให้รีสตาทร์ Apache แล้วก็อปปีไฟล์
simple.php จากโฟลเดอร์ setup ไปวางไว้ที่โฟลเดอร์
htdocs ดังนี้
เมื่อเปิดไฟล์ simple.php ออกมาดูจะพบการเขียนโปรแกรมเพื่อเชื่อมต่อกับ
CAS ไว้ดังนี้
เมื่อทดลองเบราซ์ไปที่ http://localhost/simple.php ควรจะถูกสลับอัตโนมัติไปที่หน้าล็อกอินของ cas และเมื่อผ่านการล็อกอินจะสลับกลับมาที่หน้า
simple.php ดังนี้
9. การทดสอบไคลเอ็นต์ Java
สำหรับการทดสอบกับ Java ให้ท่านก็อปปีโฟลเดอร์
app1 จาก setup มาวางไว้ที่ webapps
ของ Tomcat
เมื่อรีสตาทร์ Tomcat ใหม่แล้วทดลองเบราซ์ไปที่
URL http://localhost:8080/app1/index.jsp
ควรจะถูกสลับหน้าไปที่หน้าล็อกอินของ cas และหลังจากล็อกอินผ่านแล้วควรจะได้ผลลัพธ์ดังนี้
สำหรับ Java จำเป็นต้องติดตั้งไฟล์
JAR เพิ่มเติมของ CAS ไว้ที่ lib
ดังนี้
และหากท่านเปิดไฟล์ web.xml ดูจะพบว่ามีการติดตั้ง Filter ป้องกันไว้ดังนี้
สำหรับการดึงข้อมูลผู้ใช้ เราใช้คำสั่ง request.getRemoteUser()
ตามปกติ เช่นนี้
ความคิดเห็น
แสดงความคิดเห็น