--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
package com.util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* This class provides a simple way to encrypt passwords before store it into
* data base or travel between web server and application server.
*
* @author jmichel
* @version 1
*/
public class PasswordUtil {
/**
* This method uses SHA-256 algorithm to encrypt the password passed as
* parameter, resulting a String containing a hash code impossible to
* revert.
*
* @param password the password to encrypt.
* @return a String (64 characters) containing a hash code impossible to
* revert.
*/
public static final String hashPassword(final String password) {
String resultPassword = null;
try {
MessageDigest algorithm = MessageDigest.getInstance("SHA-256");
byte messageDigest[] = algorithm.digest(password.getBytes("UTF-8"));
StringBuilder hexString = new StringBuilder();
for (byte b : messageDigest) {
hexString.append(String.format("%02X", 0xFF & b));
}
resultPassword = hexString.toString();
}
catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e.getMessage());
}
catch (UnsupportedEncodingException e) {
throw new RuntimeException(e.getMessage());
}
return resultPassword;
}
}
package com.managedbean;
import static com.util.PasswordUtil.hashPassword;
import static com.util.MessagesUtil.getMessage;
import java.io.Serializable;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import com.model.entity.User;
import com.model.entity.facade.UserFacade;
@ManagedBean(name="accessControlBean")
public class AccessControlBean implements Serializable {
private static final long serialVersionUID = 8188482045425598742L;
private Logger logger = Logger.getLogger("com.managedbean.AccessControlBean");
private String username;
private String password;
@EJB
private UserFacade userFacade;
private final FacesContext facesContext = FacesContext.getCurrentInstance();
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return this.username;
}
public void setPassword(String password) {
this.password = hashPassword(password);
}
public String getPassword() {
return this.password;
}
public String doLogin() {
User u = userFacade.findUserByUsername(this.username);
if(u != null && u.getPassword().equals(this.password)) {
logger.info("User accepted");
this.facesContext.getExternalContext().getSessionMap().put("userAuthenticated", u);
return "/faces/home.xhtml";
}
else {
logger.info("User do not exists or incorrect password");
this.facesContext.addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_ERROR,
getMessage("loginError"),
getMessage("loginError")));
return "/faces/login.xhtml";
}
}
public String doLogoff() {
logger.info("Log out user");
this.facesContext.getExternalContext().getSessionMap().remove("userAuthenticated");
HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
session.invalidate();
return "/faces/login.xhtml";
}
public AccessControlBean() {
}
}
--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil