Package twitterdemo.controllers

Source Code of twitterdemo.controllers.SignonController

package twitterdemo.controllers;

import static com.scooterframework.web.controller.ActionControl.*;

import com.scooterframework.orm.activerecord.ActiveRecord;
import com.scooterframework.security.LoginHelper;

import twitterdemo.models.Account;


/**
* SignonController class handles signon related access.
*/
public class SignonController {
  static {
        filterManagerFor(SignonController.class).declareBeforeFilter("loginRequired", "only", "main");
        filterManagerFor(SignonController.class).declareBeforeFilter("validateInput", "only", "authenticate");
  }

    public String validateInput() {
        validators().validatesPresenceOf("username");
        validators().validatesPresenceOf("password");
        if (validationFailed()) {
            flash("error", "Please submit both username and password.");
            return redirectTo("/signon/login");
        }
        return null;
    }

    /**
     * login method
     */
    public String login() {
        return null;
    }

    /**
     * Authenticates login request.
     */
    public String authenticate() {
        String username = p("username");
        String password = p("password");

        ActiveRecord user = Account.findFirst("username='" + username + "' and password='" + password + "'");
        if (user != null) {
            LoginHelper.cacheLoggedInUser(user);//Save the login user to session
            LoginHelper.cacheLoggedInUserId(username);//Save the login user id to session
            return redirectTo("/tweets/followings_tweets");
        }

        flash("error", "Please login by using correct username and password.");
        return renderView("login");
    }

    /**
     * logout method
     */
    public String logout() {
        LoginHelper.userLogout();
        return null;
    }

    /**
     * loginRequired method (usually used in beforeFilter)
     */
    public String loginRequired() {
        if (!LoginHelper.isLoggedIn()) {
            flash("error", "You must be logged in to do that.");
            return redirectTo("/signon/login");
        }
        return null;
    }
}
TOP

Related Classes of twitterdemo.controllers.SignonController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.