📄 userdatabean.java
字号:
/************************************************************************* * * * EJBCA: The OpenSource Certificate Authority * * * * This software is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or any later version. * * * * See terms of license at gnu.org. * * * *************************************************************************/package org.ejbca.core.ejb.ra;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Date;import java.util.HashMap;import javax.ejb.CreateException;import javax.ejb.EJBException;import org.apache.log4j.Logger;import org.bouncycastle.util.encoders.Hex;import org.ejbca.core.ejb.BaseEntityBean;import org.ejbca.core.model.SecConst;import org.ejbca.core.model.ra.ExtendedInformation;import org.ejbca.core.model.ra.UserDataConstants;import org.ejbca.core.model.ra.UserDataVO;import org.ejbca.util.Base64PutHashMap;import org.ejbca.util.CertTools;import org.ejbca.util.StringTools;/** * Entity bean should not be used directly, use though Session beans. * <p/> * Entity Bean representing a User. * Information stored: * <pre> * Username (username) * SHA1 hash of password (passwordHash) * Clear text password if needed (clearPassword) * Subject DN (subjectDN) * CAId of CA the user is belonging to. * Subject Alternative Name (subjectAltName * Subject Email (subjectEmail) * Status (status) * Type (type, from SecConst) * End Entity Profile (endEntityProfileId) * Certificate Profile (certificateProfileId) * Token Type (tokenType) * Hard Token Issuer (hardTokenIssuerId) * KeyStore Password (keyStorePassword), reserved for future use. * ExtendedInformation, extra information about a user. * </pre> * <p/> * Passwords should me manipulated through helper functions setPassword() and setOpenPassword(). * The setPassword() function sets the hashed password, while the setOpenPassword() method sets * both the hashed password and the clear text password. * The method comparePassword() is used to verify a password againts the hashed password. * * @version $Id: UserDataBean.java,v 1.12 2006/11/10 09:29:34 anatom Exp $ * * @ejb.bean description="This enterprise bean entity represents a Log Entry with accompanying data" * display-name="UserDataEB" * name="UserData" * jndi-name="UserData" * view-type="local" * type="CMP" * reentrant="False" * cmp-version="2.x" * transaction-type="Container" * schema="UserDataBean" * * @ejb.pk class="org.ejbca.core.ejb.ra.UserDataPK" * extends="java.lang.Object" * implements="java.io.Serializable" * * @ejb.persistence table-name = "UserData" * * @ejb.transaction type="Required" * * @ejb.home extends="javax.ejb.EJBHome" * local-extends="javax.ejb.EJBLocalHome" * local-class="org.ejbca.core.ejb.ra.UserDataLocalHome" * * @ejb.interface extends="javax.ejb.EJBObject" * local-extends="javax.ejb.EJBLocalObject" * local-class="org.ejbca.core.ejb.ra.UserDataLocal" * * @ejb.finder * description="findBySubjectDNAndCAId" * signature="org.ejbca.core.ejb.ra.UserDataLocal findBySubjectDNAndCAId(java.lang.String subjectdn, int caId)" * query="SELECT OBJECT(a) from UserDataBean a WHERE a.subjectDN=?1 AND a.caId=?2" * * @ejb.finder * description="findBySubjectDN" * signature="org.ejbca.core.ejb.ra.UserDataLocal findBySubjectDN(java.lang.String subjectdn)" * query="SELECT OBJECT(a) from UserDataBean a WHERE a.subjectDN=?1" * * @ejb.finder * description="findBySubjectEmail" * signature="java.util.Collection findBySubjectEmail(java.lang.String subjectEmail)" * query="SELECT OBJECT(a) from UserDataBean a WHERE a.subjectEmail=?1" * * @ejb.finder * description="findByStatus" * signature="java.util.Collection findByStatus(int status)" * query="SELECT OBJECT(a) from UserDataBean a WHERE a.status=?1" * * @ejb.finder * description="findAll" * signature="java.util.Collection findAll()" * query="SELECT OBJECT(a) from UserDataBean a" */public abstract class UserDataBean extends BaseEntityBean { private static final Logger log = Logger.getLogger(UserDataBean.class); /** * @ejb.pk-field * @ejb.persistence column-name="username" * @ejb.interface-method */ public abstract String getUsername(); /** * username must be called 'striped' using StringTools.strip() * */ public abstract void setUsername(String username); /** * @ejb.persistence column-name="subjectDN" * @ejb.interface-method */ public abstract String getSubjectDN(); /** * @ejb.interface-method */ public abstract void setSubjectDN(String subjectDN); /** * @ejb.persistence column-name="cAId" * @ejb.interface-method */ public abstract int getCaId(); /** * @ejb.interface-method */ public abstract void setCaId(int caid); /** * @ejb.persistence column-name="subjectAltName" * @ejb.interface-method */ public abstract String getSubjectAltName(); /** * @ejb.interface-method */ public abstract void setSubjectAltName(String subjectAltName); /** * @ejb.persistence column-name="subjectEmail" * @ejb.interface-method */ public abstract String getSubjectEmail(); /** * @ejb.interface-method */ public abstract void setSubjectEmail(String subjectEmail); /** * @ejb.persistence column-name="status" * @ejb.interface-method */ public abstract int getStatus(); /** * @ejb.interface-method */ public abstract void setStatus(int status); /** * @ejb.persistence column-name="type" * @ejb.interface-method */ public abstract int getType(); /** * @ejb.interface-method */ public abstract void setType(int type); /** * Returns clear text password or null. * * @ejb.persistence column-name="clearPassword" * @ejb.interface-method */ public abstract String getClearPassword(); /** * Sets clear text password, the preferred method is setOpenPassword(). * * @ejb.interface-method */ public abstract void setClearPassword(String clearPassword); /** * Returns hashed password or null. * * @ejb.persistence column-name="passwordHash" * @ejb.interface-method */ public abstract String getPasswordHash(); /** * Sets hash of password, this is the normal way to store passwords, but use the method setPassword() instead. * * @ejb.interface-method */ public abstract void setPasswordHash(String passwordHash); /** * Returns the time when the user was created. * * @ejb.persistence column-name="timeCreated" * @ejb.interface-method */ public abstract long getTimeCreated(); /** * Sets the time when the user was created. * */ public abstract void setTimeCreated(long createtime); /** * Returns the time when the user was last modified. * * @ejb.persistence column-name="timeModified" * @ejb.interface-method */ public abstract long getTimeModified();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -