/*
* 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;
}
}