ruby-on-rails – 在创建会话时在Authlogic中指定Cookie域
使用Authlogic创建会话时,是否可以将cookie域设置为当前域以外的其他域?
从我们的注册域创建新帐户时,我想将用户重定向到其子域帐户并将用户登录. 电流控制器: 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] =’.YourOURDOMAIN.COM’ 在您的production.rb文件中,这将允许您让所有人登录到子域的所有子域.如果你然后添加一个过滤器(或其他什么,但我使用过滤器,所以我知道它有用),在你显示控制器的东西之前检查某人是否正在使用正确的域,它的效果非常好. 例如,您可以将会话的相应子域存储为会话变量,并为人们提供指向其特定事物的链接选项(如果它们位于您的主域中或查看其他人的子域中的页面). 这似乎是执行此类操作的一般模式 – 如果您设置特定于子域??的cookie,否则您将无法分辨他们何时登录到主站点.我还有一个’users_domain?’当我这样做时,最终会在视图中偶尔调用的助手. 如果你不想拥有那些常见的网页设计模式,wesgarrion的单一用途 – >在子域上创建会话也是一种方法.我只是认为我会将其作为设计/交互/代码问题提及. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |