Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * imcollector Authentication
  * Copyright (C) 2013  Yuriy Kryshchuk
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation, either version 3 of the License, or
  * (at your option) any later version.
  *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses />.
 */
package com.kryshchuk.imcollector.auth.deadbolt;
import play.libs.F;

Author(s):
yura
Since:
1.0
public abstract class AbstractDeadboltHandler extends Results implements DeadboltHandler {
  protected final Logger logger = LoggerFactory.getLogger(getClass());
    // TODO Auto-generated method stub
    return null;
  }
  public Promise<ResultonAuthFailure(final Context contextfinal String content) {
    // if the user has a cookie with a valid user and the local user has
    // been deactivated/deleted in between, it is possible that this gets
    // shown. You might want to consider to sign the user out in this case.
    return F.Promise.promise(() -> forbidden("Forbidden"));
  }
  public Promise<ResultbeforeAuthCheck(final Context context) {
    if (PlayAuthenticate.isLoggedIn(context.session())) {
      // user is logged in
      return F.Promise.pure(null);
    } else {
      .trace("User is not logged in");
      // call this if you want to redirect your visitor to the page that
      // was requested before sending him to the login page
      // if you don't call this, the user will get redirected to the page
      // defined by your resolver
      final String originalUrl = PlayAuthenticate.storeOriginalUrl(context);
      context.flash().put("error""You need to log in first, to view '" + originalUrl + "'");
      return F.Promise.promise(() -> redirect(PlayAuthenticate.getResolver().login()));
    }
  }
  public Promise<SubjectgetSubject(final Context context) {
    final AuthUserIdentity u = PlayAuthenticate.getUser(context);
    if (u == null) {
      return F.Promise.pure(null);
    } else {
      // Caching might be a good idea here
      .info("Need to find user by identity {}"u);
      return F.Promise.promise(() -> getSubject(u));
    }
  }
  protected abstract Subject getSubject(AuthUserIdentity identity);
New to GrepCode? Check out our FAQ X