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

📄 jdbccredentialsprovider4exp.java

📁 这个是使用java开发的一个平台
💻 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 + -