Index: topia-security/src/java/org/codelutin/topia/security/entities/user/TopiaUserImpl.java diff -u /dev/null topia-security/src/java/org/codelutin/topia/security/entities/user/TopiaUserImpl.java:1.1 --- /dev/null Wed Sep 13 08:45:16 2006 +++ topia-security/src/java/org/codelutin/topia/security/entities/user/TopiaUserImpl.java Wed Sep 13 08:45:10 2006 @@ -0,0 +1,34 @@ +package org.codelutin.topia.security.entities.user; + +import static org.codelutin.topia.security.TopiaSecurityUtil.hash; + +import org.codelutin.topia.security.entities.user.TopiaUser; +import org.codelutin.topia.security.entities.user.TopiaUserAbstract; + +public class TopiaUserImpl extends TopiaUserAbstract implements TopiaUser { + + private static final long serialVersionUID = 1L; + + public boolean isCorrectPassword(String password) { + if (this.password == null) { + if (password != null) { + return false; + } + } else if (!this.password.equals(hash(password))) { + return false; + } + return true; + } + + public void setPassword(String newPassword) { + password = hash(newPassword); + } + + public void setPassword(String oldPassword, String newPassword) { + if (!isCorrectPassword(oldPassword)) { + return; + } + setPassword(newPassword); + } + +}