使用Omniauth验证用户操作

时间:2015-03-13 15:14:18

标签: ruby-on-rails authentication omniauth

我正在使用Twitter Omniauth,并希望在我的控制器中设置before_actions来验证用户操作并限制用户表单编辑,更新和删除其他用户帖子,就像设计authenticate_user一样!方法允许。如何在omniauth中定义它,因为它不是内置的?

1 个答案:

答案 0 :(得分:1)

这是一个例子,你可以适应你的需要。

在ApplicationController中:

def require_signin!
 if current_user.nil?
  flash[:error] = "Please sign in..."
  redirect_to signin_url
 end
end
helper_method :require_signin!

def current_user
  @current_user ||= User.find(session[:user_id]) if session[:user_id]
end
helper_method :current_user

使用require_signin!就像使用authenticate_user!