Master of Computer Science - University of Grenoble
Contact : Sara Bouchenak, Sara.Bouchenak@imag.fr
Design and implement application user authentication with AOP/AspectJ.
If not already installed, install the following software:
If not already defined, define the following environment variables:
JAVA_HOME
ASPECTJ_HOME
ANT_HOME
MCKOI_HOME
PATH (includes JAVA_HOME/bin, ASPECTJ_HOME/bin, ANT_HOME/bin, MCKOI_HOME/bin)
Examples for defining such variables are given in the file named env-tcsh for Unix/tcsh (run: source env-tcsh), and in the file named env-win.bat for Windows (run: env-win.bat).
Download the application code.
The banking application is available in TP4/Basic/:
TP4/Basic/docs/api/index.html provides the API documentation of the application.
TP4/Basic/src contains the source code of the application.
Configure the database:
Choose a port number for the McKoi database server
Configure file db.conf with theport number in jdbc_server_port
Configure file build.xml with port number in mckoi.port
Compile and run the application:
Compile: ant compile
 
Start the database server: ant create_db
 
Create and initialize database content: ant 
  pop_db
 
Start the database GUI client for interactive execution of SQL 
  queries: ant client_db
  Examples: SHOW TABLES or SELECT * FROM accounts 
 
Run the main program: ant run
 
Use the GUI client to browe the new content of the database
As an example, TP4/Authentication_HandCoded/ contains a "hand-coded" version of the banking application extended with security and authentication features using the JAAS Java library.
More details on JAAS are given in http://java.sun.com/products/jaas/ and http://java.sun.com/security/jaas/doc/api.html.
The hand-coded version of the application is organized as follows:
TP4/Authentication_HandCoded/docs/api/index.html provides the API documentation of the application.
TP4/Authentication_HandCoded/src contains the source code of the application.
Compile and run the application:
Compile: ant compile
 
Start the database server: ant create_db
 
Create and initialize database content: ant 
  pop_db
 
Start the database GUI client for interactive execution of SQL 
  queries: ant client_db
  Examples: SHOW TABLES or SELECT * FROM accounts 
 
Run the main program: run-win.bat (for Windows), run-tcsh.sh (for 
  Unix/tcsh) or run-bash.sh (for 
  Unix/bash), configure the DB server port number accordingly
 
Use the GUI client to browse the new content of the database
Implement user authentication using AspectJ in the TP4/Authentication_Aspects/ directory, by writing an aspect in TP4/Authentication_Aspects/aspects/authentication/AuthAspect.java
Compile: ant compile_aj
 
Start the database server: ant create_db
 
Create and initialize database content: ant 
  pop_db
 
Start the database GUI client for interactive execution of SQL 
  queries: ant client_db
  Examples: SHOW TABLES or SELECT * FROM accounts 
 
Run the main program: run-win.bat (for Windows), run-tcsh.sh (for 
  Unix/tcsh) or run-bash.sh (for 
  Unix/bash), configure the DB server port number accordingly
  Modify run-win.bat (run-tcsh.sh, run-bash.sh) to use the AspectJ 
  implementation
 
Use the GUI client to browse the new content of the database
Combine the Logging aspect implemented in TP2 and Security aspect implemented in TP4, and automatically include both to the banking application.
Do not modify the aspects' code, neither the application code.