0

我正在使用 ruby​​ 2.0.0p247 和 rails 4。我需要在我的应用程序的用户控制器中添加一个 before_filter,以检查用户是否属于同一组,然后再调用其他用户(如(显示))的方法。我不想在我的应用程序中使用 gems。任何帮助表示赞赏..谢谢

4

1 回答 1

1
before_filter :check_for_group, only: [:show] #or add the actions you want here

然后在底部创建一个私有方法来检查 2 个用户是否在同一个组中

def check_for_group
  user_getting_shown = User.find(params[:id])
  user_getting_shown.gorups.in?(current_user.groups) # => assuming you have a current_user method that retrives the user session.
end

但是,如果您在应用程序中需要大量授权而不是使用 before_filters,您可以在应用程序控制器中创建一个名为 authorize 的权限,然后创建一个单独的权限类,您可以从中控制所有授权逻辑。测试起来要容易得多。Ryan bates 有 2 个关于这个主题的精彩截屏视频,你应该看看

http://railscasts.com/episodes/385-authorization-from-scratch-part-1

http://railscasts.com/episodes/385-authorization-from-scratch-part-1

于 2013-10-28T13:11:55.263 回答