2017-01-06 09:25:39 3783次浏览 2条回答 0 悬赏 10 金钱
'user' => [
    'identityClass' => 'common\models\User',
    'enableAutoLogin' => true,
    'identityCookie' => [
        'domain' => '.wechar.com',
        'path' => '/',
        'name' => '_identity',
        'httpOnly' => true,
    ],
],
'session' => [
    'cookieParams' => [
        'domain' => '.wechar.com',
        'lifetime' => 0,
        'httpOnly' => true,
        'path' => '/',
    ],
],

求教啊,我按照百度上说的这样写,没办法达到同步登陆啊!

补充于 2017-01-06 09:47

我是需要从 login.wechar.com 登陆,然后顶级域名或其他子域名也同步登陆

  • 回答于 2017-01-06 11:04 举报

    session的domain设置成顶级域名:.wechar.com

    8 条回复
    回复于 2017-01-06 11:11 回复

    请问还要怎么样设置啊?我那个session里面cookieParams里面有设置一个domain了,还望指教,,百度了几天了

    回复于 2017-01-06 11:48 回复

    我请教了公司里的大神,他也说你这个配置没有什么问题。但是你要保证其他域名下的配置和你发的这个配置保持一致

    回复于 2017-01-06 11:54 回复

    首先非常感谢,然后我这个配置是写在 common\config\main.php 公共配置文件里面的,应该只需要写这么一个地方就可以了吧?

    回复于 2017-01-06 11:56 回复

    上面的配置截图我只写这么多,像别人写的还有什么 urlmanager的修改 createUrl什么的,我看了下,这应该和跨域没什么关系吧?所以我并没有写上,就写了上面截图的这个部分的

    回复于 2017-01-06 12:02 回复

    在frontend和backend中没有覆盖这个配置,就应该没有什么问题

    回复于 2017-01-06 13:38 回复

    都没有问题啊,方便留一个QQ吗

    回复于 2017-01-06 13:48 回复

    2416795951

    回复于 2019-08-15 10:40 回复

    你解决了吗

  • 回答于 2017-01-09 11:14 举报

    嗯,首先呢,你的应用都在一个服务器上吗?了解session的机制,session储存在服务端。
    session是默认存在硬盘中的,如果你的应用不在一台服务器上,session是不共用的,一些人会用数据库(MySQL,NoSQL)来存放session,这样的话就可以让其他的服务器来访问同一个session了,设置同一个cookie的domain,让各个域名的SESSIONID统一。

    1 条回复
    回复于 2017-01-12 16:02 回复

    你好,我是在本地测试弄的,所以照理说你说的服务器情况应该都不存在了吧,然后如同我上面发的问题,我确实有设置这个domain值,,,但是就是不行,,登陆后看domain值显示 N/A,求教啊

您需要登录后才可以回答。登录 | 立即注册
xiurenhui
职场新人

xiurenhui

注册时间:2015-12-01
最后登录:2018-09-09
在线时长:2小时56分
  • 粉丝0
  • 金钱45
  • 威望0
  • 积分65

热门问题