简单继承AuthenticationProvider

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>
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值