zoukankan      html  css  js  c++  java
  • Rails中不同应用同一域名下的不同子域共享session设置

    [背景/应用场景]

    在不采用多应用单点登录的情况下,当不同应用之间希望实现自动登录的功能

    共享用户数据库或类似的情况下, 而且不同应用部署在同一域名下的不同子域名,需要在一个应用登录之后,在另一个应用自动登录

    [Rails中的设置]

    设置不同应用之间相同的secret_token 和 session store的domain设置

    AppName::Application.config.secret_token = '......'
    AppName::Application.config.session_store :cookie_store, key: '_cookie_name', domain: :all

    务必保证secret_token和_cookie_name在不同应用之间的设置一致

    [测试]

    1. 在完成设置后进行测试,在开发环境下,首先设置/etc/hosts文件

    127.0.0.1 *.lvh.me

    2. 假设你有应用 app1, app2

    当你访问app1.lvh.me时候设置了session

    session[:user] = user.id

    在你访问app2.lvh.me的时候,浏览器会自动将app1设置的session发送到app2,这样就可以在app2中取得session[:user],而实现自动登录

    [补充]

    当你在一个应用里采用子域的方式的来划分用户的时候,也需要对Rails的session store domain进行相同的设置

      

  • 相关阅读:
    BKDRHash函数
    poj3261Milk Patterns 后缀数组
    两圆相交面积
    后缀数组模板
    kmp模板 && 扩展kmp模板
    hdu 2594 Simpsons’ Hidden Talents
    BZOJ 1911 特别行动队(斜率优化DP)
    BZOJ 1898 沼泽鳄鱼(矩阵快速幂)
    BZOJ 1996 合唱队(DP)
    BZOJ 1821 部落划分(二分+并查集)
  • 原文地址:https://www.cnblogs.com/kamechen/p/3140281.html
Copyright © 2011-2022 走看看