2009-09-24 6 views
1

Я использую плагин acegi groovy для регистрации и аутентификации пользователя. Класс домена пользователя, который поставляется с подключаемым модулем, имеет следующее определение (и комментарии).Шифрование пароля Acegi

class User { 
static transients = ['pass'] 
static hasMany = [authorities: Role] 
static belongsTo = Role 

/** Username */ 
String username 
/** User Real Name*/ 
String userRealName 
/** MD5 Password */ 
String passwd 
/** enabled */ 
boolean enabled 

String email 
boolean emailShow 

/** description */ 
String description = '' 
... 

}

и так далее. Поэтому я предположил, что метод шифрования паролей MD5.

Мне нужно зарегистрировать много тысяч пользователей, создавая случайный пароль для каждого пользователя. (имя пользователя уже указано).

Я написал сценарий, который генерирует случайные -пользовательские пароли и зашифрованные пароли MD5 и делает соответствующие вставки в БД. К сожалению, этих пользователей не вы можете зарегиститься.

Является ли подключаемый модуль безопасности acegi с использованием MD5-шифрования?

Кажется, что он использует что-то еще. К сожалению, я ничего не нашел в документации.

Кто-нибудь знает, как это шифрование сделано?

Спасибо!

Луис

ответ

1

Если вы используете DaoAuthenticationProvider и не устанавливайте passwordEncoder свойства, кодировщик пароль по умолчанию PlaintextPasswordEncoder. Чтобы настроить пароль кодировщик MD5, сделать

<bean 
     id="passwordEncoder" 
     class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/> 

    <bean 
     id="daoAuthenticationProvider" 
     class="org.acegisecurity.providers.dao.DaoAuthenticationProvider"> 
    <property name="userDetailsService" ref="userDetailsService"/> 
    <property name="passwordEncoder" ref="passwordEncoder"/> 
    </bean> 
+0

Спасибо за ваш ответ. +1 для вас. Нет, я ничего не установил. Теперь я нашел в DefaultSecurityConfig.groovy, что алгоритм «SHA». Знаете ли вы, как создавать пароли, зашифрованные SHA? Спасибо! – Luixv

+2

echo -n пароль | openssl sha1 – Roshan

+0

Спасибо Рошанико! – Luixv

0

или вы могли бы использовать authenticateService.encodePassword ("пароль"). См. Метод сохранения регистратора RegisterController, например

Смежные вопросы