Spring Security 3- How to customize username/password parameters?

前端 未结 2 618
挽巷
挽巷 2020-12-31 18:09

How do you customize the UsernamePasswordAuthenticationFilter usernameParameter (j_username) and passwordParameter (j_password) properties when using the

2条回答
  •  感情败类
    2020-12-31 18:30

    Here is the solution I created based on axtavt's suggestion:

    Spring configuration:

    
        
        
    
    

    Java class:

    package com.my.package;
    
    import org.springframework.beans.factory.config.BeanPostProcessor;
    import org.springframework.security.web.authentication.
        UsernamePasswordAuthenticationFilter;
    
    public class UserPassAuthFilterBeanPostProcessor implements BeanPostProcessor {
    
        private String usernameParameter;
        private String passwordParameter;
    
        @Override
        public final Object postProcessAfterInitialization(final Object bean,
            final String beanName) {
            return bean;
        }
    
        @Override
        public final Object postProcessBeforeInitialization(final Object bean,
            final String beanName) {
            if (bean instanceof UsernamePasswordAuthenticationFilter) {
                final UsernamePasswordAuthenticationFilter filter =
                    (UsernamePasswordAuthenticationFilter) bean;
                filter.setUsernameParameter(getUsernameParameter());
                filter.setPasswordParameter(getPasswordParameter());
            }
    
            return bean;
        }
    
        public final void setUsernameParameter(final String usernameParameter) {
            this.usernameParameter = usernameParameter;
        }
    
        public final String getUsernameParameter() {
            return usernameParameter;
        }
    
        public final void setPasswordParameter(final String passwordParameter) {
            this.passwordParameter = passwordParameter;
        }
    
        public final String getPasswordParameter() {
            return passwordParameter;
        }
    
    }
    

提交回复
热议问题