package controllers.compositions; import models.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import play.mvc.Action; import play.mvc.Http; import play.mvc.Result; /** * Created with IntelliJ IDEA. * User: guym * Date: 6/12/13 * Time: 2:05 PM * <p/> * checks if user is logged in and if the user is admin. * uses the request parameter by default, and falls back to cookie. */ public class AdminUserCheck extends Action.Simple { private static Logger logger = LoggerFactory.getLogger(AdminUserCheck.class); UserCheck userCheck = new UserCheck(); @Override public Result call(Http.Context context) throws Throwable { try { User user = userCheck.getUser(context); if (user == null || !user.isAdmin()) { return badRequest("invalid user access"); } } catch (Exception e) { logger.warn(e.getMessage()); } return delegate.call(context); } }