View Javadoc
1   package org.oxerr.spring.security.guest.authentication;
2   
3   import org.oxerr.spring.security.guest.core.userdetails.GuestUserDetailsService;
4   import org.springframework.security.authentication.AuthenticationProvider;
5   import org.springframework.security.core.Authentication;
6   import org.springframework.security.core.AuthenticationException;
7   
8   public class GuestAuthenticationProvider implements AuthenticationProvider {
9   
10  	private final GuestUserDetailsService guestUserDetailsService;
11  
12  	public GuestAuthenticationProvider(GuestUserDetailsService guestUserDetailsService) {
13  		this.guestUserDetailsService = guestUserDetailsService;
14  	}
15  
16  	@Override
17  	public Authentication authenticate(Authentication authentication) throws AuthenticationException {
18  		GuestAuthenticationToken guestAuthenticationToken = (GuestAuthenticationToken) authentication;
19  		return new GuestAuthenticationToken(guestUserDetailsService.loadUser(guestAuthenticationToken));
20  	}
21  
22  	@Override
23  	public boolean supports(Class<?> authentication) {
24  		return GuestAuthenticationToken.class.isAssignableFrom(authentication);
25  	}
26  
27  }