Wee udah lama ngga ngeblog berbulan bulan. hahaha.. emank angin”nan sih yaa. Jadi begini beberapa minggu yang lalu ane iseng” mempelajari Single Sign On nah pada Single Sign On ini menggunakan CAS . CAS merupakan sistem autentikasi yang dibuat oleh Yale University. Ngga usah lama yakk. Udah pada tau kan MySQL itu apa dan buat apa? hehehe.. Yuukk langsung pantengin step step di bawah. Eh, kalau ada yang salah penulisannya mohon koreksinyaa..
Environment : Ubuntu Desktop 12.04
Instal dulu Tomcat Server yakk :
apt-get update apt-get install tomcat6
Install openjdk6
apt-get install openjdk-6-jdk
Install maven2
apt-get install maven2
Maven2 ini untuk mengubah project web menjadi .war
Install MySQL Server
apt-get -y install mysql-server
Ketika instalasi mysql server Anda diminta memasukkan password untuk user “root”
Kemudian buat database dulu yaa
mysql -u root -p Enter password :
Masukkan password yang dibuat pada saat instalasi mysql server. Setelah berubah menjadi prompt mysql>
Masukkan script sql dibawah ini
CREATE DATABASE db_users; USE DATABASES db_users; CREATE TABLE tbl_users (username char(20) PRIMARY KEY NOT NULL, password char(64)); GRANT SELECT,UPDATE ON users TO 'sysmin'@'localhost' IDENTIFIED BY 'sysmin1234'; INSERT INTO users(username, password) VALUES ('halocas',MD5('halocas123'));
Download mysql connector
cd /usr/src/ wget http://downloads.mysql.com/archives/mysql-connector-java-5.1/mysql-connector-java-5.1.24.tar.gz tar xvzf mysql-connector-java-5.1.24.tar.gz
setelah diekstrak mysql connectornya, kemudian download file cas server. Pada kasus ini menggunakan cas server 3.3.3
wget http://www.ja-sig.org/downloads/cas/cas-server-3.3.3-release.tar.gz tar xvzf cas-server-3.3.3-release.tar.gz
Kemudian pindah ke folder cas-server-3.3.3/cas-server-webapp
cd cas-server-3.3.3/cas-server-webapp
Edit file pom.xml
nano pom.xml
Masukkan script dibawah ini setelah tag <dependencies> sebelum tag </dependencies>
<dependency> <groupId>${project.groupId}</groupId> <artifactId>cas-server-support-jdbc</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.2.1</version> <scope>runtime</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.24-bin</version> <!-- <strong>Ganti Dengan versi mysql-connector yang anda gunakan</strong> --> <scope>provided</scope> </dependency>
Setelah disave kemudian kita akan membuat dalam bentuk .war
mvn package install
Jika terdapat error seperti dibawah ini
Missing: ---------- 1) mysql:mysql-connector-java:jar:5.1.24-bin Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.24-bin -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.24-bin -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] Path to dependency: 1) org.jasig.cas:cas-server-webapp:war:3.3.3 2) mysql:mysql-connector-java:jar:5.1.24-bin
Itu artinya mysql-connector kita belum terinstall, maka masukkan command seperti dibawah ini
mvn install:install-file -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.8-bin -Dpackaging=jar -Dfile=../../mysql-connector-java-5.1.24/mysql-connector-java-5.1.24-bin.jar mvn package install
Setelah tidak ada error lagi copy cas.war ke webapps pada server tomcat6
cp target/cas.war /var/lib/tomcat6/webapps/
Restart server tomcat sebelum mengakses cas server tersebut
service tomcat6 restart
Akses http://localhost:8080/cas, jika berhasil kita lanjut ke tahap selanjutnya.
Pada langkah ini kita akan menghubungkan cas server dengan data yang ada pada MySQL. Copy kan dulu mysql-connector-java-5.1.24-bin.jar ke library cas
cd /usr/src/ cd mysql-connector-java-5.1.24/ cp mysql-connector-java-5.1.24-bin.jar /var/lib/tomcat6/webapps/cas/WEB-INF/lib/
Kemudian edit file deployerConfigContext.xml
cd /var/lib/tomcat6/webapps/cas/WEB-INF/ nano deployerConfigContext.xml
Cari script di bawah ini
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
Dengan script dibawah ini
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"> <property name="tableUsers"> <value>tbl_users</value> </property> <property name="fieldUser"> <value>username</value> </property> <property name="fieldPassword"> <value>password</value> </property> <property name="passwordEncoder"> <bean class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"> <constructor-arg value="MD5" /> </bean> </property> <property name="dataSource" ref="dataSource" /> </bean>
Setelah tag berikut
</list> </property> </bean>
Masukkan script di bawah ini
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/db_users</value> <!-- sesuaikan dengan nama database --> </property> <property name="username"> <value>sysmin</value> <!-- isi dengan username sysadmin sesuai dengan konfigurasi mysql sebelumnya --> </property> <property name="password"> <value>sysmin123</value> <!-- sesuaikan dengan password user sysadmin --> </property> </bean>
Konfigurasi cas server telah selesai.. kemudian restart tomcat server
service tomcat6 restart
Untuk mengoptimalkan penggunaan cas sebaiknya menggunakan SSL pada tomcat server. Untuk konfigurasi SSL pada tomcat menyusul yaakkk… Terima kasih..
Berbagai Catatan Tutorial Memanfaatkan Teknologi