Community contributed extensions

LogiSima Play Cas Authentification



This module allows you to set up an authentication with a CAS server and to managed authorization. It is based on the Secure module.

Enable the LogiSima Play CAS



In the conf/application.conf file, enable the LogiSima Play CAS module with this line :




# The logisima play cas module
module.logisima-cas=${play.path}/module/logisima-play-cas

Import default routes



In the conf/route file, import the default routes by adding this line :




# Import Secure routes
* / module:logisima-cas

Configure the module



In the conf/application.conf file, you have to specified th cas login, validate and logout urls like this :




cas.validateUrl=https://www.logisima.com/cas/serviceValidate
cas.loginUrl=https://www.logisima.com/cas/loginUrl
cas.logoutUrl=https://www.logisima.com/cas/logoutUrl

Protect a controller



To protect a controller, you just have to add this annotation : @With(SecureCAS.class).


Exemple:




@With(SecureCAS.class)
public class Application extends Controller {

public static void index() {
render();
}

}

Add the authentication mechanisme



Once your application retrivied the username (login), you have to check the user’s information with your own mechanism. To do this, you just have to create a class in the controllers package that extends the controllers.SecureCAS.Security, and impement the following method :


public static boolean authentify(String username, String password).




Exemple :




package controllers;

public class Security extends SecureCAS.Security {

public static boolean authenticate(String username, String password) {
User user = User.find(“byEmail”, username).first();
return user != null && user.password.equals(password);
}

}

Retrieving the connected user


In your application, if you want to know who is connected (the usernam /login), you can call the static method Security.connected().