📄 usermanagerimpl.java
字号:
/**
*
*/
package com.lily.dap.service.right.impl;
import com.lily.dap.model.right.User;
import com.lily.dap.service.core.BaseManager;
import com.lily.dap.service.core.VerifyUtil;
import com.lily.dap.service.core.exception.DataContentInvalidateException;
import com.lily.dap.service.core.exception.DataContentRepeatException;
import com.lily.dap.service.core.exception.DataNotExistException;
import com.lily.dap.service.core.exception.NotSupportOperationException;
import com.lily.dap.service.right.UserManager;
import com.lily.dap.util.StringUtil;
/**
* @author zouxuemo
*
*/
public class UserManagerImpl extends BaseManager implements UserManager {
/**
* <code>encryptPassword</code> 是否对用户密码进行加密
*/
private boolean encryptPassword = true;
/**
* <code>algorithm</code> 如果用户密码加密,进行加密的算法,默认使用SHA加密算法
*/
private String algorithm = "SHA";
/**
* @param algorithm 要设置的 algorithm。
*/
public void setAlgorithm(String algorithm) {
this.algorithm = algorithm;
}
/**
* @param encryptPassword 要设置的 encryptPassword。
*/
public void setEncryptPassword(boolean encryptPassword) {
this.encryptPassword = encryptPassword;
}
/* (non-Javadoc)
* @see com.lily.dap.service.right.UserManager#changeUserPassword(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
*/
public void changeUserPassword(String username, String oldPassword, String newPassword)
throws DataNotExistException, DataContentInvalidateException {
User user = getUser(username);
if (encryptPassword) {
oldPassword = StringUtil.encodePassword(oldPassword, algorithm);
newPassword = StringUtil.encodePassword(newPassword, algorithm);
}
if(!user.getPassword().equals(oldPassword))
throw new DataContentInvalidateException("输入的用户旧口令错误!");
user.setPassword(newPassword);
doSave(user);
}
/* (non-Javadoc)
* @see com.lily.dap.service.right.UserManager#createUser(java.lang.String, java.lang.String)
*/
public User createUser(String username, String password)
throws DataContentRepeatException {
VerifyUtil verifyUtil = new VerifyUtil(dao);
verifyUtil.assertDataNotRepeat(User.class, "username", username, "登陆用户名称重复,请重新指定新的用户名称");
if (encryptPassword)
password = StringUtil.encodePassword(password, algorithm);
User user = new User();
user.setUsername(username);
user.setPassword(password);
doSave(user);
return user;
}
/* (non-Javadoc)
* @see com.lily.dap.service.right.UserManager#enabledUser(java.lang.String, boolean)
*/
public void enabledUser(String username, boolean enabled)
throws DataNotExistException {
User user = getUser(username);
user.setEnabled(enabled);
doSave(user);
}
/* (non-Javadoc)
* @see com.lily.dap.service.right.UserManager#getUser(java.lang.String)
*/
public User getUser(String username) throws DataNotExistException {
return (User)get(User.class, "username", username);
}
/* (non-Javadoc)
* @see com.lily.dap.service.right.UserManager#removeUser(java.lang.String)
*/
public void removeUser(String username) throws DataNotExistException {
getUser(username);
doRemove(User.class, username);
}
/* (非 Javadoc)
* @see com.lily.dap.service.core.BaseManager#onBeforeAdd(java.lang.Object)
*/
protected Object onBeforeAdd(Object entity) {
throw new NotSupportOperationException("接口不允许调用add(...)方法!");
}
/* (非 Javadoc)
* @see com.lily.dap.service.core.BaseManager#onBeforeModify(java.lang.Object)
*/
protected Object onBeforeModify(Object entity) {
throw new NotSupportOperationException("接口不允许调用modify(...)方法!");
}
/* (非 Javadoc)
* @see com.lily.dap.service.core.BaseManager#onBeforeRemove(java.lang.Object)
*/
protected void onBeforeRemove(Object entity) {
throw new NotSupportOperationException("接口不允许调用remove(...)方法!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -