2014-01-11 14 views
4


我努力在rubyCAS服务器数据库中注册用户
我使用Devise(3.2.2)和devise_cas_authenticatable(1.3.4)作为SSO解决方案。使用rubyCAS作为服务器SSO。
我可以很好地登录,但我的问题是如何注册新用户。 我想有两个应用程序共享相同的用户群,让用户在双方注册。
但他们会去网站和sign_up。 我想用设计,因为内置的和行之有效的恢复机制等RubyCAS注册新用户,怎么做,用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_authenticatable它可以正常工作,所以我相信Devise已经配置好了。 我也有Devise.config初始化:

config.cas_create_user = true 

我找不到有关SSO系统上注册的用户信息。我相信这是应用程序的工作,创建将在应用程序之间共享的用户,我虽然这应该工作...我是对的吗?
如果不是,那么您对这种共享用户系统有何建议?

非常感谢您的帮助和您提供的任何建议。
最好的问候,
努诺

+0

你有没有碰运气? – shanemcd

+0

不,我放弃了这个想法,并且我会去启用omniauth的设计。不过,我并不需要onmiauth,因为它将被次级webapps使用,我仍在开发主应用程序。 – Nuno

回答

2

不同,需要包括DatabaseAuthenticable模块的加密密码注册新用户。将下面的行添加到您的用户模型中。

include Devise::Models::DatabaseAuthenticatable 
+0

任何人都可以确认这是否有效? –

-1

而不是使用密码列,我们可以通过使用用户模型

例al​​ias_attribute重用:

alias_attribute:用户名,:电子邮件

alias_attribute:密码:encrypted_pa​​ssword