📄 cmsuserdriver.java
字号:
CmsUser user = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_USERS_READID");
stmt.setString(1, id.toString());
res = stmt.executeQuery();
// create new Cms user object
if (res.next()) {
user = internalCreateUser(res);
} else {
CmsMessageContainer message = Messages.get().container(Messages.ERR_NO_USER_WITH_ID_1, id);
if (LOG.isDebugEnabled()) {
LOG.debug(message.key());
}
throw new CmsDbEntryNotFoundException(message);
}
return user;
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} catch (IOException e) {
throw new CmsDbIoException(Messages.get().container(Messages.ERR_READING_USER_0), e);
} catch (ClassNotFoundException e) {
throw new CmsDataAccessException(Messages.get().container(Messages.ERR_READING_USER_0), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, res);
}
}
/**
* @see org.opencms.db.I_CmsUserDriver#readUser(org.opencms.db.CmsDbContext, java.lang.String, int)
*/
public CmsUser readUser(CmsDbContext dbc, String name, int type) throws CmsDataAccessException {
PreparedStatement stmt = null;
ResultSet res = null;
CmsUser user = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_USERS_READ");
stmt.setString(1, name);
stmt.setInt(2, type);
res = stmt.executeQuery();
if (res.next()) {
user = internalCreateUser(res);
} else {
CmsMessageContainer message = org.opencms.db.Messages.get().container(
org.opencms.db.Messages.ERR_UNKNOWN_USER_1,
name);
if (LOG.isDebugEnabled()) {
LOG.debug(message.key());
}
throw new CmsDbEntryNotFoundException(message);
}
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} catch (IOException e) {
throw new CmsDbIoException(Messages.get().container(Messages.ERR_READING_USER_0), e);
} catch (ClassNotFoundException e) {
throw new CmsDataAccessException(Messages.get().container(Messages.ERR_READING_USER_0), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, res);
}
return user;
}
/**
* @see org.opencms.db.I_CmsUserDriver#readUser(org.opencms.db.CmsDbContext, java.lang.String, java.lang.String, int)
*/
public CmsUser readUser(CmsDbContext dbc, String name, String password, int type)
throws CmsDataAccessException, CmsPasswordEncryptionException {
PreparedStatement stmt = null;
ResultSet res = null;
CmsUser user = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_USERS_READPW");
stmt.setString(1, name);
stmt.setString(2, OpenCms.getPasswordHandler().digest(password));
stmt.setInt(3, type);
res = stmt.executeQuery();
// create new Cms user object
if (res.next()) {
user = internalCreateUser(res);
} else {
res.close();
res = null;
CmsMessageContainer message = org.opencms.db.Messages.get().container(
org.opencms.db.Messages.ERR_UNKNOWN_USER_1,
name);
if (LOG.isDebugEnabled()) {
LOG.debug(message.key());
}
throw new CmsDbEntryNotFoundException(message);
}
return user;
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} catch (IOException e) {
throw new CmsDbIoException(Messages.get().container(Messages.ERR_READING_USER_0), e);
} catch (ClassNotFoundException e) {
throw new CmsDataAccessException(Messages.get().container(Messages.ERR_READING_USER_0), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, res);
}
}
/**
* @see org.opencms.db.I_CmsUserDriver#readUser(org.opencms.db.CmsDbContext, java.lang.String, java.lang.String, java.lang.String, int)
*/
public CmsUser readUser(CmsDbContext dbc, String name, String password, String remoteAddress, int type)
throws CmsDataAccessException, CmsPasswordEncryptionException {
CmsUser user = readUser(dbc, name, password, type);
return user;
}
/**
* @see org.opencms.db.I_CmsUserDriver#readUsers(org.opencms.db.CmsDbContext, int)
*/
public List readUsers(CmsDbContext dbc, int type) throws CmsDataAccessException {
List users = new ArrayList();
PreparedStatement stmt = null;
ResultSet res = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_USERS_GETUSERS");
stmt.setInt(1, type);
res = stmt.executeQuery();
// create new Cms user objects
while (res.next()) {
users.add(internalCreateUser(res));
}
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} catch (IOException e) {
throw new CmsDbIoException(Messages.get().container(Messages.ERR_READING_USERS_0), e);
} catch (ClassNotFoundException e) {
throw new CmsDataAccessException(Messages.get().container(Messages.ERR_READING_USERS_0), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, res);
}
return users;
}
/**
* @see org.opencms.db.I_CmsUserDriver#readUsersOfGroup(org.opencms.db.CmsDbContext, java.lang.String, int)
*/
public List readUsersOfGroup(CmsDbContext dbc, String name, int type) throws CmsDataAccessException {
List users = new ArrayList();
PreparedStatement stmt = null;
ResultSet res = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc);
stmt = m_sqlManager.getPreparedStatement(conn, "C_GROUPS_GETUSERSOFGROUP");
stmt.setString(1, name);
stmt.setInt(2, type);
res = stmt.executeQuery();
while (res.next()) {
users.add(internalCreateUser(res));
}
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} catch (IOException e) {
throw new CmsDbIoException(org.opencms.db.Messages.get().container(
org.opencms.db.Messages.ERR_GET_USERS_OF_GROUP_1,
name), e);
} catch (ClassNotFoundException e) {
throw new CmsDataAccessException(org.opencms.db.Messages.get().container(
org.opencms.db.Messages.ERR_GET_USERS_OF_GROUP_1,
name), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, res);
}
return users;
}
/**
* @see org.opencms.db.I_CmsUserDriver#removeAccessControlEntries(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject, org.opencms.util.CmsUUID)
*/
public void removeAccessControlEntries(CmsDbContext dbc, CmsProject project, CmsUUID resource)
throws CmsDataAccessException {
PreparedStatement stmt = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc, project.getId());
stmt = m_sqlManager.getPreparedStatement(conn, project, "C_ACCESS_REMOVE_ALL");
stmt.setString(1, resource.toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsUserDriver#removeAccessControlEntriesForPrincipal(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject, org.opencms.file.CmsProject, org.opencms.util.CmsUUID)
*/
public void removeAccessControlEntriesForPrincipal(
CmsDbContext dbc,
CmsProject project,
CmsProject onlineProject,
CmsUUID principal) throws CmsDataAccessException {
PreparedStatement stmt = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc, project.getId());
stmt = m_sqlManager.getPreparedStatement(conn, project, "C_ACCESS_REMOVE_ALL_FOR_PRINCIPAL");
stmt.setString(1, principal.toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
try {
conn = m_sqlManager.getConnection(dbc, project.getId());
stmt = m_sqlManager.getPreparedStatement(conn, project, "C_ACCESS_REMOVE_ALL_FOR_PRINCIPAL_ONLINE");
stmt.setString(1, principal.toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(Messages.ERR_GENERIC_SQL_1, stmt), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsUserDriver#removeAccessControlEntry(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject, org.opencms.util.CmsUUID, org.opencms.util.CmsUUID)
*/
public void removeAccessControlEntry(CmsDbContext dbc, CmsProject project, CmsUUID resource, CmsUUID principal)
throws CmsDataAccessException {
PreparedStatement stmt = null;
Connection conn = null;
try {
conn = m_sqlManager.getConnection(dbc, project.getId());
stmt = m_sqlManager.getPreparedStatement(conn, project, "C_ACCESS_REMOVE");
stmt.setString(1, resource.toString());
stmt.setString(2, principal.toString());
stmt.executeUpdate();
} catch (SQLException e) {
throw new CmsDbSqlException(Messages.get().container(
Messages.ERR_GENERIC_SQL_1,
CmsDbSqlException.getErrorQuery(stmt)), e);
} finally {
m_sqlManager.closeAll(dbc, conn, stmt, null);
}
}
/**
* @see org.opencms.db.I_CmsUserDriver#writeAccessControlEntry(org.opencms.db.CmsDbContext, org.opencms.file.CmsProject, org.opencms.security.CmsAccessControlEntry)
*/
public void writeAccessControlEntry(CmsDbContext dbc, CmsProject project, CmsAccessControlEntry acEntry)
throws CmsDataAccessException {
PreparedStatement stmt = null;
Connection conn = null;
ResultSet res = null;
try {
conn = m_sqlManager.getConnection(dbc, project.getId());
stmt = m_sqlManager.getPreparedStatement(conn, project, "C_ACCESS_READ_ENTRY");
stmt.setString(1, acEntry.getResource().toString());
stmt.setString(2, acEntry.getPrincipal().toString());
res = stmt.executeQuery();
if (!res.next()) {
createAccessControlEntry(
dbc,
project,
acEntry.getResource(),
acEntry.getPrincipal(),
acEntry.getAllowedPermissions(),
acEntry.getDeniedPermissions(),
acEntry.getFlags());
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -