Arhn - архитектура программирования

Перенос пользователей с Joomla на Ruby On Rails + разработка и сохранение паролей

Я разработал веб-сайт с Joomla, но он вырос настолько, что я схожу с ума, пытаясь добавить новые функции. Вот почему я хочу переделать все это в ruby ​​on rails. Но сейчас меня больше всего волнует, как перевести всех пользователей в новое приложение rails и позволить им сохранить свои пароли. Я хотел бы, чтобы миграция прошла как можно более плавно, и мне не хотелось бы просить пользователей сменить пароль. Есть ли у кого-нибудь идеи о том, как этого добиться?


Ответы:


1

Джумла 1.х и 2.х

У меня нет для вас кода, но вы можете использовать следующую стратегию:

В пользовательской таблице добавьте столбец, указывающий механизм хеширования пароля. Таким образом, у всех перенесенных пользователей будет joomla, а у новых пользователей по умолчанию будет devise. Затем всякий раз, когда пользователь пытается войти в систему, вы будете запрашивать имя пользователя и хешировать его пароль с помощью любого механизма хеширования, указанного в базе данных. Если вы хотите в конечном итоге перенести их все, то после успешного входа в систему вы можете перефразировать введенный ими пароль с помощью вашего нового механизма хеширования (тот, который реализован Devise) и обновить их хэш пароля и механизм хеширования в базе данных.

Джумла 3.х

Судя по этому другому вопросу: шифрование паролей Joomla 3.2.1, Joomla 3. x использует phpass, который использует bcrypt. Это хорошая новость, потому что devise также использует bcrypt для шифрования паролей! Я бы проверил, что пароли в ваших таблицах Joomla зашифрованы с помощью bcrypt, а затем миграция будет простой задачей копирования паролей дословно в таблицу пользователей devise.

05.11.2015
  • Несколько хороших идей прямо здесь. Определенно пригодится в моем проекте. Все еще нужно знать, как использовать шифрование Joomla с devise, но это хорошая идея, о которой я не думал. 17.11.2015
  • @user2344682 user2344682 Я провел еще немного исследований и обновил свой ответ. Взгляните на подход Joomla 3.x, есть большая вероятность, что вам не придется делать ничего особенного для миграции. 17.11.2015
  • Звучит здорово! Я должен дать ему попробовать! 18.11.2015
  • Пробовал, но пароли в таблице совсем другие. Первый подход выглядит как единственно возможное решение 03.02.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..