package controllers;
import models.User;
import play.Logger;
import play.mvc.*;
import play.mvc.Http.*;
public class SecuredController extends Security.Authenticator {
@Override
public String getUsername(Context ctx) {
return ctx.session().get("email");
}
@Override
public Result onUnauthorized(Context ctx) {
// Store the original URL in the flash scope so it can be stored in the form:
String requestUrl = "GET".equals(ctx.request().method()) ? ctx.request().uri() : routes.ApplicationController.index().url();
Logger.info("onUnauthorised controller setting requestUrl = "+ requestUrl);
ctx.flash().put("url", requestUrl );
return redirect(routes.ApplicationController.login());
}
// Access rights
public static boolean isSysAdmin(String email) {
User user = User.findByEmail(email);
return user.isSysAdmin();
}
public static boolean isArchivist(String email) {
User user = User.findByEmail(email);
return user.isArchivist();
}
}