package com.mossle.user.support;
import javax.annotation.Resource;
import com.mossle.spi.user.AccountCredentialConnector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
public class DatabaseAccountCredentialConnector implements
AccountCredentialConnector {
private static Logger logger = LoggerFactory
.getLogger(DatabaseAccountCredentialConnector.class);
private JdbcTemplate jdbcTemplate;
private String sqlFindPassword = "SELECT AC.PASSWORD AS PASSWORD"
+ " FROM ACCOUNT_CREDENTIAL AC,ACCOUNT_INFO AI"
+ " WHERE AC.ACCOUNT_ID=AI.ID AND CATALOG='default' AND AI.USERNAME=? and AI.TENANT_ID=?";
public String findPassword(String username, String tenantId) {
if (username == null) {
logger.info("username is null");
return null;
}
username = username.toLowerCase();
String password = null;
try {
password = jdbcTemplate.queryForObject(sqlFindPassword,
String.class, username, tenantId);
} catch (Exception ex) {
logger.info(ex.getMessage());
logger.info("cannot find password : {}, {}", username, tenantId);
}
return password;
}
@Resource
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}