Аутентификация нескольких приложений с помощью Ruby CAS Server

У меня есть два разных веб-приложения, которые уже созданы. Теперь приходит одно новое требование: реализовать общую аутентификацию. Мое одно приложение - это сборка в rails, а другое приложение - в Drupal. Я установил ruby-casserver, но для CAS нам нужно установить Authenticator в config.yml файл, я установил это.

Но моя проблема в том, как перенести моих старых пользователей на CAS, потому что я храню имя пользователя и пароль (то есть encrypetd) на сервере CAS. Зашифрованные пароли, которые хранятся в пользовательской таблице CAS, шифруются с использованием алгоритма SHA1. Но самый старый пользователь на Drupal использует MD5 для шифрования пароля.

Поэтому мой вопрос заключается в том, как перенести старых пользователей на CAS или как спроектировать CAS, который может аутентифицироваться для пользователей Rails и Drupal.

1 ответ

Если вы понимаете, как хэшируются ваши пароли, все, что вам нужно сделать, - это убедиться, что ваш аутентификатор хеширует пароли таким же образом - переопределяя его, если вам нужно. Взгляните на CASino, это сервер CAS, который позволяет легко переопределять аутентификаторы; также позволяет одновременно использовать несколько источников данных, будь то несколько баз данных или LDAP.

Другие вопросы по тегам