Rob*_*ice 7 cookies subdomain session ruby-on-rails heroku
我正在尝试在我的网站上使用cookie dapshare.com为根地址和'www'子域工作.
许多其他stackoverflow答案(以及关于此主题的优秀Railscasts vid)已建议将此行添加到session_store.rb:
Dapshare::Application.config.session_store :cookie_store, :key => '_dapshare_session', :domain => :all
Run Code Online (Sandbox Code Playgroud)
这似乎没有什么区别:如果我登录dapshare.com,我仍然没有登录www.dapshare.com.
我在这里做错了吗?我使用以下代码在cookie中存储信息:
cookies.permanent.signed[:thing_to_store] = store_information
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
Rob*_*ice 12
简短的回答:使用'cookies [:new_cookie] ='似乎没有从session_store配置设置中获取域名.
我将:域添加到新cookie中,它现在可以正常工作:
cookies.permanent.signed[:new_cookie] = {:value => new_value, :domain => ".dapshare.com"}
Run Code Online (Sandbox Code Playgroud)
对于其他人阅读,您还需要在删除cookie时指定域
cookies.delete :new_cookie, :domain => ".dapshare.com"
Run Code Online (Sandbox Code Playgroud)
(感谢您对诊断安德鲁·马歇尔的帮助.)
实际上你可以在Rails 3.1 +中使用domain =>:all而不是domain =>'.dapshare.com'来指定你的cookie:
cookies.permanent.signed[:new_cookie] = {:value => new_value, :domain => :all}
Run Code Online (Sandbox Code Playgroud)
这比直接指定字符串域更灵活.现在,您的应用程序不会在不同的生产域上中断.
| 归档时间: |
|
| 查看次数: |
4720 次 |
| 最近记录: |