Аутентификация base64 - PullRequest
0 голосов
/ 20 мая 2011

Я разрабатываю приложение с помощью Spring roo.В качестве первого теста аутентификации, подразумевающего безопасность Spring, я использовал аутентификацию по таблице в моей базе данных.Это прекрасно работает:

    <authentication-manager alias="authenticationManager">
        <authentication-provider>
            <jdbc-user-service data-source-ref="dataSource" authorities-by-username-query="select username,authority from users where username=?"/>
        </authentication-provider>
    </authentication-manager>

Теперь все становится немного сложнее (для меня), потому что пароль в «реальной» (в рабочей среде) пользовательской таблице зашифрован, я должен сначала использовать хешфункция md5, а затем кодировка base64, а также iso для работы со специальными символами.

Мне нужно создать пользовательский jdbc-пользовательский сервис.Каковы наилучшие методы для работы с этими операциями?

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Как и предполагалось, мне удалось решить проблему со встроенной защитой Spring при аутентификации.

Сначала мне пришлось установить кодировку security-context.xml на ISO-8859-1

* 1004.*

затем используйте:

<password-encoder hash="md5" base64="true" ></password-encoder>
1 голос
/ 23 мая 2011

Первое, что нужно сделать, - это создать собственный кодер пароля, который позволит мне больше контролировать процесс аутентификации.

  1. В приложении Context-Security.xml

  2. Создание пользовательского класса

    открытый класс SnatiPasswordEncoder реализует PasswordEncoder {

    @Override
    public String encodePassword(String arg0, Object arg1)
            throws DataAccessException {
        // TODO Auto-generated method stub
        return null;
    }
    
    @Override
    public boolean isPasswordValid(String arg0, String arg1, Object arg2)
            throws DataAccessException {
        // TODO Auto-generated method stub
        return false;
    }
    
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    
    }
    

    }

Что должно быть дальше?

...