我正在使用rails 3并设计,我希望有一个SecurityController,我调用sign_in_user或reset_password等方法,这将是一个传递用户名和密码等参数的帖子。
我知道我可以使用before_filter:authenticate_user!但我想验证自己。如果身份验证成功,那么我希望该用户sign_in。
我这样做的原因是因为我有一个iphone应用程序,它依赖于对Web应用程序进行身份验证以使用该应用程序。
答案 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)由于我们更改了控制器,因此不会使用“设计/会话”视图,因此请记住将“设计/会话”复制到“管理员/会话”。