import org.acegisecurity.Authentication;
import org.acegisecurity.AuthenticationException;
import org.acegisecurity.GrantedAuthority;
import org.acegisecurity.GrantedAuthorityImpl;
import org.acegisecurity.providers.AuthenticationProvider;
import org.acegisecurity.providers.UsernamePasswordAuthenticationToken;
import org.acegisecurity.providers.dao.DaoAuthenticationProvider;
import org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider;
import org.acegisecurity.userdetails.UserDetails;
import org.acegisecurity.userdetails.UserDetailsService;
public class AuthenticationProviderImpl implements AuthenticationProvider {
UserDetailsImpl userDetails;
//spring's property userDetailsService
UserDetailsService userDetailsService;
public Authentication authenticate(Authentication authentication)
throws AuthenticationException {
// TODO Auto-generated method stub
// UserDetails user = (UserDetails)authentication.getPrincipal();
// get the user's info from client in the authentication
// it is the authentication request
System.out.println(authentication);
// the username
System.out.println(authentication.getName());
System.out.println(authentication.getDetails());
//the password
System.out.println(authentication.getCredentials());
System.out.println(authentication.getPrincipal());
System.out.println(authentication.getAuthorities());
System.out
.println("/n/n/nget in get in /nget in get in /nget in get in /nget in get in /n/n/n");
//return createSuccessAuthentication();
//GrantedAuthorityImpl grant = new GrantedAuthorityImpl("ROLE_SUPERVISOR");
//GrantedAuthority[] arrayAuths = {grant};
//
this.userDetails = (UserDetailsImpl)this.userDetailsService.loadUserByUsername(authentication.getName());
// should see the interface org.acegisecurity.Authentication
UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(
userDetails, authentication.getCredentials(),userDetails.getAuthorities());
//result.setDetails(authentication);
//we return a Authentication's instance which we may get by SecurityContextHold.getAuthentication()
return result;
}
public boolean supports(Class authentication) {
// TODO Auto-generated method stub
return true;
}
public void setUserDetailsService(UserDetailsService userDetailsService){
this.userDetailsService = userDetailsService;
}
}
config in Spring
<bean id="daoAuthenticationProvider" class="cn.kk.spring.acegi.AuthenticationProviderImpl" >
<property name="userDetailsService">
<ref bean="userDetailsService" />
</property>
</bean>
import org.acegisecurity.AuthenticationException;
import org.acegisecurity.GrantedAuthority;
import org.acegisecurity.GrantedAuthorityImpl;
import org.acegisecurity.providers.AuthenticationProvider;
import org.acegisecurity.providers.UsernamePasswordAuthenticationToken;
import org.acegisecurity.providers.dao.DaoAuthenticationProvider;
import org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider;
import org.acegisecurity.userdetails.UserDetails;
import org.acegisecurity.userdetails.UserDetailsService;
public class AuthenticationProviderImpl implements AuthenticationProvider {
UserDetailsImpl userDetails;
//spring's property userDetailsService
UserDetailsService userDetailsService;
public Authentication authenticate(Authentication authentication)
throws AuthenticationException {
// TODO Auto-generated method stub
// UserDetails user = (UserDetails)authentication.getPrincipal();
// get the user's info from client in the authentication
// it is the authentication request
System.out.println(authentication);
// the username
System.out.println(authentication.getName());
System.out.println(authentication.getDetails());
//the password
System.out.println(authentication.getCredentials());
System.out.println(authentication.getPrincipal());
System.out.println(authentication.getAuthorities());
System.out
.println("/n/n/nget in get in /nget in get in /nget in get in /nget in get in /n/n/n");
//return createSuccessAuthentication();
//GrantedAuthorityImpl grant = new GrantedAuthorityImpl("ROLE_SUPERVISOR");
//GrantedAuthority[] arrayAuths = {grant};
//
this.userDetails = (UserDetailsImpl)this.userDetailsService.loadUserByUsername(authentication.getName());
// should see the interface org.acegisecurity.Authentication
UsernamePasswordAuthenticationToken result = new UsernamePasswordAuthenticationToken(
userDetails, authentication.getCredentials(),userDetails.getAuthorities());
//result.setDetails(authentication);
//we return a Authentication's instance which we may get by SecurityContextHold.getAuthentication()
return result;
}
public boolean supports(Class authentication) {
// TODO Auto-generated method stub
return true;
}
public void setUserDetailsService(UserDetailsService userDetailsService){
this.userDetailsService = userDetailsService;
}
}
config in Spring
<bean id="daoAuthenticationProvider" class="cn.kk.spring.acegi.AuthenticationProviderImpl" >
<property name="userDetailsService">
<ref bean="userDetailsService" />
</property>
</bean>