📄 jdbccredentialsprovider4exp.java
字号:
/*
* Created on 2005-8-4
*
* TODO To change the template for this generated file go to Window -
* Preferences - Java - Code Style - Code Templates
*/
package com.exp.integration.osworkflow.user;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.exp.dao.DBConnectionFactory;
import com.exp.integration.osworkflow.OSWorkFlowDBConfigUtil;
import com.opensymphony.user.provider.CredentialsProvider;
import com.opensymphony.user.provider.ejb.util.Base64;
import com.opensymphony.user.provider.ejb.util.PasswordDigester;
import com.opensymphony.user.provider.jdbc.BaseJDBCProvider;
// Referenced classes of package com.opensymphony.user.provider.jdbc:
// BaseJDBCProvider
public class JDBCCredentialsProvider4EXP extends BaseJDBCProvider implements
CredentialsProvider {
private static final Log log;
static Class class$com$opensymphony$user$provider$jdbc$JDBCCredentialsProvider; /*
* synthetic
* field
*/
protected String dataSource = "";
public Connection getConnection() {
try {
return DBConnectionFactory.createDBConnection(this.dataSource)
.getConnection();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public boolean authenticate(String name, String password) {
boolean authenticated = true;
return authenticated;
}
public boolean changePassword(String name, String password) {
boolean changedPassword = false;
return changedPassword;
}
public boolean create(String name) {
boolean created = false;
return created;
}
public boolean handles(String name) {
boolean handles = false;
Connection conn = getConnection();
try {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM "
+ userTable + " WHERE " + userName + " = ?");
ps.setString(1, name);
ResultSet rs = ps.executeQuery();
handles = rs.next();
rs.close();
ps.close();
} catch (SQLException e) {
log.fatal("Could not see if [" + name + "] is handled", e);
} finally {
try {
conn.close();
} catch (Exception e) {
}
}
return handles;
}
public List list() {
ArrayList users = new ArrayList();
Connection conn = getConnection();
try {
PreparedStatement ps = conn.prepareStatement("SELECT " + userName
+ " FROM " + userTable + " ORDER BY " + userName);
ResultSet rs;
for (rs = ps.executeQuery(); rs.next(); users.add(rs.getString(1)))
;
rs.close();
ps.close();
} catch (SQLException e) {
log.fatal("Could not list users", e);
} finally {
try {
conn.close();
} catch (Exception e) {
}
}
return users;
}
public boolean remove(String name) {
boolean removed = false;
return removed;
}
private boolean compareHash(String hashedValue, String unhashedValue) {
return hashedValue.equals(createHash(unhashedValue));
}
private String createHash(String original) {
byte digested[] = PasswordDigester.digest(original.getBytes());
byte encoded[] = Base64.encode(digested);
return new String(encoded);
}
/*
* (non-Javadoc)
*
* @see com.opensymphony.user.provider.UserProvider#init(java.util.Properties)
*/
public boolean init(Properties dual) {
Properties props = OSWorkFlowDBConfigUtil.getOsuserProps();
dataSource = props.getProperty("datasource");
if (dataSource == null) {
dataSource = "";
}
userTable = (String) props.get("user.table");
groupTable = (String) props.get("group.table");
membershipTable = (String) props.get("membership.table");
userName = (String) props.get("user.name");
userPassword = (String) props.get("user.password");
groupName = (String) props.get("group.name");
membershipUserName = (String) props.get("membership.userName");
membershipGroupName = (String) props.get("membership.groupName");
return true;
}
static {
log = LogFactory
.getLog("com.opensymphony.user.provider.jdbc.JDBCCredentialsProvider");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -