使用Ruby on Rails进行身份验证&设计

时间:2011-02-05 02:02:18

标签: ruby-on-rails authentication devise

我即将为我学院的居民在铁轨上建一个新站点。 该网站将允许居民更改学院防火墙的密码(这意味着有一定的要求)。 在网站上,每个居民将拥有一个分配了大量数据的帐户,为此我需要一些身份验证。

我几乎整天都在研究Devise,但我开始怀疑我是否有一个太复杂的任务,用Devise来完成它。

问题是,我需要使用DES加密存储密码,我不确定Devise是否可以处理。 另一件事是,用户无法制作自己的个人资料。管理员将这样做(以确保正确的数据),这意味着用户创建不是默认的。由于没有这方面的控制器,甚至可以这样做吗?

我不确定我是否应该继续使用Devise,或者咬紧牙关并从头开始编写代码。一些意见将不胜感激。

2 个答案:

答案 0 :(得分:2)

Devise wiki(https://github.com/plataformatec/devise/wiki/How-To:-Create-a-custom-encryptor)上的这个页面告诉你如何设置自定义加密器。

要使管理员创建用户,请从User模型中删除:registerable模块。然后将用户资源添加到您的应用中,例如:

scope 'admin' do
  resources :users
end

使用您的个人资料字段等​​设置新的/编辑页面,正常的轨道编程。

有关使用CanCan控制对用户资源的访问权限的示例,请查看以下帖子:http://zyphmartin.com/blog/manage-users-with-devise-and-cancan

答案 1 :(得分:0)

如果设计并不完全符合你的需要,也许Ryan Bates最近的webcast会帮助你。