/** * */ package net.agef.jobexchange.services.internal; import net.agef.jobexchange.domain.LoginUser; //import org.acegisecurity.userdetails.UserDetails; //import org.acegisecurity.userdetails.UserDetailsService; //import org.acegisecurity.userdetails.UsernameNotFoundException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.dao.DataAccessException; import org.springframework.security.userdetails.UserDetails; import org.springframework.security.userdetails.UserDetailsService; import org.springframework.security.userdetails.UsernameNotFoundException; /** * @author Administrator * */ public class UserDetailsServiceImpl implements UserDetailsService { private final Session session; public UserDetailsServiceImpl(Session session) { this.session = session; } public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { final Query query = session.createQuery("SELECT x FROM LoginUser x WHERE x.username = :username"); query.setParameter("username", username); final LoginUser bean = (LoginUser) query.uniqueResult(); if (bean == null) { throw new UsernameNotFoundException(username); } return bean; } }