Sunday, November 21, 2010

Cài đặt 1 Single sign on server + Ldap

Single sign on (SSO) và Ldap là 1 chủ đề được thảo luận rất nhiều trong những năm qua. Nhiều người có suy nghĩ rằng việc thiết lập các hệ thống sử dụng single sign on và Ldap là công việc phức tạp , đòi hỏi chuyên môn cao. Tuy nhiên, với sự phát triển của các công nghệ mã nguồn mở, việc sở hữu SSO và Ldap đã trở nên rất dễ dàng. Cái khó nhất lại nằm ở chỗ: thiếu các tài liệu cập nhật về các công nghệ này. Bài viết này sẽ giới thiệu từng bước thực hiện các công việc trên.

1. Cài đặt Single sign on server:
Hiện tại, CAS (Central Authentication System - http://www.jasig.org/cas) là 1 phần mềm mã nguồn mở xuất sắc được dùng để thiết lập các Single sign on server. Phát triển trước tiên bởi ĐH Yale, từ năm 2008, được quản lý bởi nhóm yêu thích kiến trúc Java - JASIG.
Trên webpage của Jasig có 1 tutorial hòan chỉnh hướng dẫn các cài đặt CAS

Tuy nhiên, ở bước 10, thay vì property userName phải được đổi thành --> userDn
độc giả không chỉ nên tham khảo cho biết

2. Cài đặt Ldap server
Apache đã phát triển 1 phần mềm gọi là Directory Apache http://directory.apache.org/
Download và cài đặt phần mềm này
Chú ý: sau khi cài vào Control panel/administarive/service và start dịch vụ này lên
3. Now try the CAS by opening browser and type: http://localhost:8080/, it will redirect to a CAS login page. After login, all resources in http://localhost:8080 can be accessed.
-------------------------------
Prerequisites
Apache tomcat is installed and running
Java(JDK) is installed.
Instructions
Download Apache directory server from http://directory.apache.org/
Run the setup with all the defaults and test that the server is working on localhost using telnet:
Start->Run->telnet
In the telnet console, type the following: open localhost 10389
If you get a screen that lets you type, Apache Directory Server is configured properly
Download the CAS installation and find the war file e.g. \cas-server-$VERSION\modules\cas-server-webapp-$VERSION.war
Start the Tomcat server, e.g. $TOMCAT_HOME/bin/startup.bat.
Add the CAS war file, cas-server-webapp-3.2.1.war, to the webapps folder, $TOMCAT_HOME\webapps.
Confirm the following directory exists, which indicates a successful deploy, {{$TOMCAT_HOME\webapps\cas-server-webapp-$VERSION},
You may also examine the Tomcat stardard output log file for errors, $TOMCAT_HOME/logs/catalina.out.
Stop the tomcat server, e.g. $TOMCAT_HOME/bin/shutdown.bat.
Add the following to the pom.xml file in the META-INF folder, $TOMCAT_HOME\webapps\cas-server-webapp-$VERSION\META-INF\maven\org.jasig.cas\cas-server-webapp:

${project.groupId}
cas-server-support-ldap
${project.version}

Edit $TOMCAT_HOME\webapps\cas-server-webapp-$VERSION\WEB-INF\deployerConfigContext.xml as follows:
Add the following bean LDAP authentication:
class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">



ldap://localhost:10389










Remove the demo authentication handler, org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler, from the authenticationHandlers property of the org.jasig.cas.authentication.AuthenticationManagerImpl bean.
Add the LDAP fast bind authentication handler:




Add the cas-server-support-ldap-$VERSION.jar from the CAS installation to $TOMCAT_HOME\webapps\cas-server-webapp-$VERSION\WEB-INF\lib.
Start tomcat and confirm there are no errors in the $TOMCAT_HOME\logs\catalina.out log.
Open a browser to the URL http://localhost:8080/cas-server-webapp-$VERSION/ and authenticate with the following credentials, admin/secret.










1 comment:

  1. Here is something needed to create a self-signed certificate
    http://www.akadia.com/services/ssh_test_certificate.html

    ReplyDelete