Package eja.controllers

Source Code of eja.controllers.SessionController

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package eja.controllers;

import eja.ejb.dao.UserDao;
import eja.ejb.entities.User;
import eja.ejb.entities.UserRole;
import eja.security.SystemRoles;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
*
* @author none_
*/
@ManagedBean
@RequestScoped
public class SessionController {
    @EJB
    private UserDao _userDao;
    private boolean logged;
    private User _user;
    /** Creates a new instance of SessionController */
    public SessionController() {
    }

    public boolean isLogged() {
        this._user = this._userDao.getLoggedUser();
        return this._user.getLogin().equals("") ? false : true;
    }

    public boolean isAdmin() {
        return this.hasRequiredRole(SystemRoles.ADMIN);
    }

    public boolean isWorker() {
        return this.hasRequiredRole(SystemRoles.WORKER);
    }

    public boolean getLogged() {
        return this.logged;
    }

    public void setLogged(boolean logged) {
        this.logged = logged;
    }

    private boolean hasRequiredRole(String... roles) {
        boolean result = false;
        if (this._user == null)
            this.isLogged();

        if (this._user.getRoles() == null)
            return false;

        for (String role : roles) {
            UserRole urole = new UserRole();
            urole.setName(role);
            result = this._user.getRoles().contains(urole);

            if (result)
                break;
        }

        return result;
    }
}
TOP

Related Classes of eja.controllers.SessionController

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.