001 /**
002 * $Author: alejandroscandroli $
003 * $Id: TrailsUserDAO.java,v 1.1 2006/01/16 11:43:38 alejandroscandroli Exp $
004 */
005
006 package org.trails.security;
007
008 import org.acegisecurity.userdetails.UserDetails;
009 import org.acegisecurity.userdetails.UserDetailsService;
010 import org.acegisecurity.userdetails.UsernameNotFoundException;
011 import org.hibernate.criterion.DetachedCriteria;
012 import org.hibernate.criterion.Restrictions;
013 import org.springframework.dao.DataAccessException;
014 import org.trails.persistence.HibernatePersistenceService;
015 import org.trails.persistence.PersistenceService;
016
017
018 public class TrailsUserDAO implements UserDetailsService
019 {
020
021 HibernatePersistenceService persistenceService;
022
023 public void setPersistenceService(HibernatePersistenceService persistenceService)
024 {
025 this.persistenceService = persistenceService;
026 }
027
028 public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException
029 {
030 DetachedCriteria criteria = DetachedCriteria.forClass(UserDetails.class);
031 criteria.add(Restrictions.eq("username", username));
032 return persistenceService.getInstance(UserDetails.class, criteria);
033 }
034 }