Acts_as_tenantgemは本当にうまく機能します。複数のテナントのデータの保存と取得に問題はありません。ただし、サブドメインなしで開発サイトにアクセスすると、問題が発生しました。
問題:サブドメインを指定しない場合でも、どのテナントのユーザーもログインできます。
例-cheese.lvh.me:3000のユーザーは、bacon.lvh.me:3000にログインしてデータにアクセスすることはできません(その逆も同様です)。ただし、チーズとベーコンの両方のユーザーはlvh.me:3000にログインできます。ログインすると、テナントスコープは適用されなくなるため、すべての新しい挿入はNULLのaccount_idを取得します。
私がしたい:サブドメインが指定されていない場合、ユーザーのログインを防止します。
人気のあるrailstutorial.orgのM.Hartlのユーザーログイン方法を使用しています。
def create
user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
sign_in user
flash[:success] = "Welcome user!"
redirect_to users_path
else
flash.now[:error] = 'Invalid email/password combination'
render 'new'
end
end
アドバイスをいただければ幸いです。