ruby-on-rails - 创建 session 时在Authlogic中指定Cookie域

标签 ruby-on-rails cookies authlogic

使用 Authlogic 创建 session 时,是否可以将 cookie 域设置为当前域以外的其他域?

当从我们的注册域创建新帐户时,我想将用户重定向到他们的子域帐户并让用户登录。

电流 Controller :

def create
  @account = Account.new(params[:account])
  if @account.save
    @user_session = @account.user_sessions.create(@account.users.first)
    # I'd like the cookie domain to be [@account.subdomain, APP_CONFIG[:domain]].join(".")
    redirect_to admin_root_url(:host => [@account.subdomain, APP_CONFIG[:domain]].join("."))
  else
    render 'new'
  end
end

最佳答案

如果你这样做:
config.action_controller.session[:domain] = '.YOURDOMAIN.COM'
在您的 production.rb 文件中,这将允许您让每个人都登录到您子域的所有子域。如果您然后添加一个过滤器(或其他任何东西,但我使用了一个过滤器,所以我知道它可以工作)在您显示 Controller 内容之前检查某人实际上是否使用了正确的域,它运行得很好。

例如,您可以将 session 的适当子域存储为 session 变量,如果人们在您的主域上或查看其他人的子域上的页面,则可以为他们提供指向其特定内容的链接选项。

这似乎是做这种事情的一般模式——如果你设置了一个特定于子域​​的 cookie,否则你将无法知道他们何时登录到主站点。我也有一个' users_domain? ' 当我这样做时,最终会在 View 中偶尔被调用的助手。

如果你不想拥有那些常见的网页设计模式,wesgarrion 的单次使用 -> 在子域上创建 session 也是一种方法。我只是想我会提到这是一个设计/交互/代码问题。

关于ruby-on-rails - 创建 session 时在Authlogic中指定Cookie域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2039053/

相关文章:

javascript - 以 simple_form 呈现动态选择列表

ruby-on-rails - Capybara::ElementNotFound:无法找到任何 css 元素

python - 如何使用 Flask 验证 cookie 完整性?

java - 无法删除 Selenium webdriver 中当前域的所有 cookie

ruby-on-rails - Rails 迁移错误 - 关系 'users' 不存在 ('"用户"'::regclass) - (rails 3.2.6/Postgresql)

ruby-on-rails - 如果创建了新文件,Rails 3.1 Assets 管道需要重新启动吗?

ruby-on-rails - 在Ruby on Rails中,要扩展String类,代码应该放在哪里?

android - cookie 是移动应用程序中 session 管理的好主意吗?

ruby-on-rails - 从 Authlogic 迁移到 Devise

ruby-on-rails - AuthLogic perishable_token 在每次请求时重置