Es necesario modificar el código del AuthorizationFilter para establecer el usuario y contraseña que se quiere utilizar. Este código debe eliminarse al finalizar el desarrollo.
93 lines
2.6 KiB
Java
93 lines
2.6 KiB
Java
package managedbean.systemAdmin;
|
|
|
|
import javax.enterprise.context.RequestScoped;
|
|
import javax.faces.application.FacesMessage;
|
|
import javax.inject.Named;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import org.primefaces.PrimeFaces;
|
|
|
|
import TO.LoggedUserTO;
|
|
import managedbean.common.ManagedBeanBase;
|
|
import managedbean.common.SessionUtils;
|
|
|
|
@Named("loginView")
|
|
@RequestScoped
|
|
public class LoginMBean extends ManagedBeanBase {
|
|
private String username;
|
|
|
|
private String password;
|
|
|
|
public String getUsername() {
|
|
return username;
|
|
}
|
|
|
|
public void setUsername(String username) {
|
|
this.username = username;
|
|
}
|
|
|
|
public String getPassword() {
|
|
return password;
|
|
}
|
|
|
|
public void setPassword(String password) {
|
|
this.password = password;
|
|
}
|
|
|
|
public String login() {
|
|
boolean loggedIn = false;
|
|
String viewRedirect = "";
|
|
|
|
LoggedUserTO usr = null;
|
|
|
|
if (username != null && password != null && username.equals("") == false && password.equals("") == false) {
|
|
try {
|
|
usr = this.getRemoteManagerSystemAdmin().login(username, password);
|
|
|
|
if (usr != null) {
|
|
loggedIn = true;
|
|
SessionUtils.createOrUpdateSession(usr);
|
|
|
|
this.addFacesMessageKeep(FacesMessage.SEVERITY_INFO, "Login correcto", "Bienvenido " + usr.getName());
|
|
viewRedirect = "/home?faces-redirect=true";
|
|
} else
|
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "El usuario o la contraseña son incorrectos");
|
|
} catch (Exception ex) {
|
|
this.addFacesMessage(FacesMessage.SEVERITY_FATAL, "Error fatal", ex.getMessage());
|
|
}
|
|
|
|
} else
|
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "El usuario o la contraseña son incorrectos");
|
|
|
|
PrimeFaces.current().ajax().addCallbackParam("loggedIn", loggedIn);
|
|
return viewRedirect;
|
|
}
|
|
|
|
/**
|
|
* Realiza un login semi-automatico. Por ejemplo desde el filtro de autorización.
|
|
* Se debe utilizar con propositos de depuración, para evitar realizar el login manual.
|
|
*
|
|
* @param ses
|
|
*/
|
|
public boolean autoLogin(HttpSession ses) {
|
|
//TODO: Eliminar este metodo al terminar el desarrollo.
|
|
boolean bResult = false;
|
|
LoggedUserTO usr = this.getRemoteManagerSystemAdmin().login(username, password);
|
|
|
|
if (usr != null) {
|
|
SessionUtils.createOrUpdateSession(ses, usr);
|
|
bResult = true;
|
|
}
|
|
return bResult;
|
|
}
|
|
|
|
// logout event, invalidate session
|
|
public String logout() {
|
|
this.addFacesMessageKeep(FacesMessage.SEVERITY_INFO, "Sessión cerrada", "Ha cerrado correctament su ssesión. Hasta la vista");
|
|
|
|
SessionUtils.DestroySession();
|
|
|
|
return "/home?faces-redirect=true";
|
|
}
|
|
}
|