Безопасность Spring 3-, Как настроить имя пользователя/параметры пароля?

Как Вы настраиваете UsernamePasswordAuthenticationFilter usernameParameter (j_username) и passwordParameter (j_password) свойства при использовании <http ... /> Безопасность Spring 3 пространства имен? Это - мое понимание <http ... /> создает фильтр, но я не вижу, как настроить его.

7
задан Taylor Leese 20 March 2010 в 17:23
поделиться

2 ответа

Вот решение, которое я создал на основе предложения axtavt:

Конфигурация Spring:

<beans:bean id="userPassAuthFilterBeanPostProcessor"
    class="com.my.package.UserPassAuthFilterBeanPostProcessor">
    <beans:property name="usernameParameter" value="username" />
    <beans:property name="passwordParameter" value="password" />
</beans:bean>

Класс Java:

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;
    }

}
4
ответ дан 7 December 2019 в 12:18
поделиться

Фильтр настроен с использованием элемента form-login , но этот элемент не дает возможности настраивать пользовательский имена для имени пользователя и пароля.

Вы можете настроить напрямую, как описано в Ссылка на пружину

1
ответ дан 7 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: