0
我正在使用Devise omniauth通过Facebook对用户进行身份验证。只允许某些路由设计认证
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
这个效果很好,但我想访问的 'http://应用/用户/ sign_in' 限制用户页面
我可以改变路线如下:
devise_scope :user do
match '/users/auth/facebook/callback' => 'users/omniauth_callbacks#facebook'
end
但那么我如何重定向用户不要从控制器得到不愉快的消息
before_filter :authenticate_user!
我想要的是用户只能使用devise_scope匹配url,否则将它们总是重定向到默认的'application#index'路由。
谢谢!修改路由文件'devise_for:users,:controllers => {:omniauth_callbacks =>“users/omniauth_callbacks”} do get'users/sign_in'=>'application#about',:as =>:new_user_session end'还必须删除用户模型devise:validatable选项,因为仅使用omniauth选项时密码字段不是必需的。 –