⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanagerimpl.java

📁 基于java的组号查询模块
💻 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 + -