01: package org.andromda.timetracker.web.security;
02:
03: import org.acegisecurity.userdetails.UserDetails;
04: import org.acegisecurity.userdetails.UserDetailsService;
05: import org.acegisecurity.userdetails.UsernameNotFoundException;
06: import org.andromda.timetracker.service.SecurityService;
07: import org.andromda.timetracker.ServiceLocator;
08: import org.andromda.timetracker.vo.UserDetailsVO;
09: import org.springframework.dao.DataAccessException;
10:
11: public class UserDetailsServiceImpl implements UserDetailsService {
12:
13: public UserDetails loadUserByUsername(String username)
14: throws UsernameNotFoundException, DataAccessException {
15:
16: SecurityService service = ServiceLocator.instance()
17: .getSecurityService();
18: UserDetailsVO userDetailsVO = service.getUserDetails(username);
19: if (userDetailsVO == null) {
20: throw new UsernameNotFoundException("User " + username
21: + " not found");
22: }
23: return new UserDetailsImpl(userDetailsVO);
24: }
25: }
|