【发布时间】:2012-11-04 18:30:49
【问题描述】:
acts_as_tenant gem 非常好用。为多个租户保存和检索数据没有问题。但是,当我在没有子域的情况下访问我的开发站点时遇到了挑战。
问题:如果我不指定子域,来自任何租户的用户仍然可以登录。
示例 - 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
不胜感激。
【问题讨论】:
标签: ruby-on-rails subdomain multi-tenant