RubyCAS регистрирует новых пользователей, как это сделать с помощью Devise?


Я изо всех сил пытаюсь зарегистрировать пользователей в базе данных rubyCAS-server
Я использую Devise (3.2.2) и devise_cas_authenticable (1.3.4) в качестве решения единого входа. Использование rubyCAS в качестве SSO сервера.
Я могу войти в систему нормально, но моя проблема заключается в том, как регистрировать новых пользователей. Я хочу иметь два приложения с одной и той же пользовательской базой, а не заставлять пользователей регистрироваться с обеих сторон.
Но зайти на сайт и зарегистрироваться должны они. Я хотел бы использовать devise из-за встроенных и хорошо протестированных механизмов восстановления и т. д.

class User < ActiveRecord::Base
    devise :cas_authenticatable, :registerable, :recoverable, :rememberable, :trackable
end

После того, как я нажму кнопку sign_up, в POST появится сообщение об ошибке:

ActiveRecord::UnknownAttributeError in Devise::RegistrationsController#create
unknown attribute: password

Если я использую database_authenticable, он работает нормально, поэтому я считаю, что Devise хорошо настроен. У меня также есть инициализатор Devise.config:

config.cas_create_user = true

Я не могу найти информацию о регистрации пользователей в системе SSO. Я считаю, что задачей приложения является создание пользователей, которые будут совместно использоваться приложениями, и я думаю, что это должно работать... я прав?
Если нет, что бы вы предложили для такой системы общих пользователей? ?

Большое спасибо за вашу помощь и любые предложения, которые вы любезно предоставили.
С уважением,
Нуно


person Nuno    schedule 11.01.2014    source источник
comment
Вам когда-нибудь везло с этим?   -  person shanemcd    schedule 08.05.2014
comment
Нет, я отказался от этой идеи и перейду к устройству с включенным omniauth. Однако мне пока не нужен onmiauth, потому что он будет использоваться вторичными веб-приложениями, а я все еще разрабатываю основное приложение.   -  person Nuno    schedule 09.05.2014


Ответы (2)


Для регистрации новых пользователей с зашифрованным паролем необходимо подключить модуль DatabaseAuthenticable. Добавьте строку ниже в свою пользовательскую модель.

include Devise::Models::DatabaseAuthenticatable
person Manoj Menon    schedule 03.06.2014

Вместо использования столбца пароля мы можем повторно использовать его, используя alias_attribute в пользовательской модели.

Пример:

alias_attribute :имя пользователя, :электронная почта

alias_attribute :пароль, :encrypted_password

person user1223967    schedule 30.11.2015