package com.mossle.security.impl; import com.mossle.security.spi.UserStatusFetcher; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.security.core.userdetails.UsernameNotFoundException; public class DatabaseUserStatusFetcher implements UserStatusFetcher { private static Logger logger = LoggerFactory .getLogger(DatabaseUserStatusFetcher.class); private JdbcTemplate jdbcTemplate; private String sql = "select status from AUTH_USER_STATUS where username=? and repoCode='0'"; public int getUserStatus(String username) throws UsernameNotFoundException { try { return jdbcTemplate.queryForObject(sql, Integer.class, username); } catch (EmptyResultDataAccessException ex) { logger.info("cannot find user : [{}]", username); throw new UsernameNotFoundException(username, ex); } } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public void setSql(String sql) { this.sql = sql; } }