Deefour が述べたように、これは手動で行う必要があります。ここで説明している問題は、認証ではなく承認です。CanCanのような宝石を見てください。
例を挙げて説明します。ユーザーが特定の組織のメンバーであることを確認する必要があります。これは次のようになります (ログインしているユーザーを表す current_user がある場合):
コントローラ:
class UsersController < ApplicationController
before_filter :find_organization, :ensure_organization_membership, :only => :show
def show
@user = @organization.users.find(params[:id])
end
def find_organization
@organization = Organization.find_by_name(params[:org_name])
end
def ensure_organization_membership
# Make sure the current_user(Logged in user) is a member of the company before showing the user profile
@organization.include(:users).member_of?(current_user)
end
end
そしてモデルでは
class Organization
....
def member_of?(user)
users.includes?(user)
end
...
end
それが役立つことを願っています。