DLE+IPS/IPB Интеграция 1.0
Это небольшая инструкция по созданию общей авторизации между двумя системами - Datalife Engine и Invision Power Suite 4.2. Данный метод будет работать только если ваши базы данных на локальном сервере и для подключения вы используете localhost, либо знаете точный адрес до базы данных - иначе не сработает.
Возможности интеграции:
Установка:
1. Открыть админпанель IPS [на примере v4.2.5] и перейти в управление авторизацией:
2. Активировать внешнюю авторизацию, нажав:
3. Если вас не перенесло автоматически, то нажмите на карандаш справа и заполнить данные базы данных, где находится DLE:
- Таблица: *ваш префикс*_users
- Колонка имён пользователей: name
- Колонка Email адресов: email
- Колонка паролей: password
- Тип шифрования паролей: Если у вас версия DLE 11.1 и меньше - берём значение MD5, если больше - обычный текст. Дело в том, что начиная с версии 11.2 в DLE сменился хеш паролей и MD5 более не подходит. Мы всё подправим в файле внешней авторизации. Посему - можете спокойно обновлять DLE.
- Дополнительное условие: banned<>1
Этот параметр не даст забанненым пользователям авторизоваться на форуме.
4. Открыть форум/system/Login/External.php и найти:
if ( !\IPS\Login::compareHashes( $this->encryptedPassword( $values['password'] ), $result[ $this->settings['db_col_pass'] ] ) )
{
throw new \IPS\Login\Exception( 'login_err_bad_password', \IPS\Login\Exception::BAD_PASSWORD, NULL, $member );
}
Добавить выше:
switch ( $this->settings['db_encryption'] )
{
case 'plaintext':
if(!password_verify($values['password'], $result[ $this->settings['db_col_pass'] ] ) ) {
throw new \IPS\Login\Exception( 'login_err_bad_password', \IPS\Login\Exception::BAD_PASSWORD, NULL, $member );
}
break;
default:
А ниже, это:
break;
}
Найти далее:
return md5( $password );
Заменить на:
return md5( md5( $password ) );
Найти далее:
return $password;
Заменить на:
return password_hash($password, PASSWORD_DEFAULT);
Готово!
• Кодировка: win-1251 + utf-8
• Автор: Maxim Harder
• Источник
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.