在自定义控制器中使用设计验证用户

时间:2011-03-29 03:11:39

标签: ruby-on-rails-3 authentication devise

我正在使用rails 3并设计,我希望有一个SecurityController,我调用sign_in_user或reset_password等方法,这将是一个传递用户名和密码等参数的帖子。

我知道我可以使用before_filter:authenticate_user!但我想验证自己。如果身份验证成功,那么我希望该用户sign_in。

我这样做的原因是因为我有一个iphone应用程序,它依赖于对Web应用程序进行身份验证以使用该应用程序。

1 个答案:

答案 0 :(得分:1)

我自己还没有理由这样做,但如果您阅读https://github.com/plataformatec/devise处的“配置控制器”部分,它会说明如何创建扩展Devise::SessionsController的自定义控制器,以及然后将您的身份验证路由指向该控制器。我想那就是你要问的怎么做 - 对吗?

从页面引用...

如果视图级别的自定义不够,您可以按照以下步骤自定义每个控制器:

1)创建自定义控制器,例如Admins :: SessionsController:

class Admins::SessionsController < Devise::SessionsController
end

2)告诉路由器使用此控制器:

devise_for :admins, :controllers => { :sessions => "admins/sessions" }

3)由于我们更改了控制器,因此不会使用“设计/会话”视图,因此请记住将“设计/会话”复制到“管理员/会话”。