xjdata

xjdata

这家伙有点懒,还没写个性签名!

  • 财富值14169
  • 威望值75
  • 总积分16039

个人信息

  • 貌似session记录的只有用户ID,所以需要查询。呃。。。我好想明白了。yii要求Memcache 、APC的用途了。

  • 提出了问题
    请问 用户登录后的session到底有什么用?
  • 2015-02-05 已签到
    连续签到1天,获得了5个金钱
  • fly,太感谢了。问题解决。 十分感谢你的耐心。

  • fly,你好。现在2个应用的 cookie中的_identity 是一样了。PHPSESSID不一样。如下:(yii.com是我本地hosts劫持的。)
    应用admin中的信息 admin.yii.com

    Cookie:_csrf=a67db463b265429314759d63a9549834d5e2df14e9dbc3bbff45e0e2a035f5ebs%3A32%3A%22Fiv7oCmMR9PxDgXv1J-pUfy83f04rEoa%22%3B; _identity=5cebb6f1abb9446046103683615dca2486a6dbb7ea9fca32edf451b8e40c131ds%3A14%3A%22%5B1%2C%22%22%2C2592000%5D%22%3B; PHPSESSID=r8b4ssig5fo0k68jj94pk0c2e5
    
    Set-Cookie:_identity=5cebb6f1abb9446046103683615dca2486a6dbb7ea9fca32edf451b8e40c131ds%3A14%3A%22%5B1%2C%22%22%2C2592000%5D%22%3B; expires=Fri, 27-Feb-2015 07:04:20 GMT; Max-Age=2592000; path=/; domain=.yii.com; httponly
    

    应用www的cookie www.yii.com

    
    

    但是依然不能同步登录,比如上方。admin.yii.com是我登录的。 然后我刷新www.yii.com还是未登录状态

  • fly 你好。
    我chrome39 清理了所有的缓存。
    然后配置文件 全部放在各应用下的config/main.php下面了。
    配置方法为 设置了 components 组件中的 session 数组
    www/config/main.php

    'class' => 'yii\web\Session',
    'name' => 'SITESSID',
    
    admin/config/main.php
    'class' => 'yii\web\Session',
    'name' => 'ADMINSSID',
    

    现在,已经可以实现各应用的session name 为配置内容。并且2个应用的session也不一样。

    Cookie:_csrf=24df2578924034d6abc37a9cb57fb24c11a9acd0af5f9fcc16f44c9449db1e3es%3A32%3A%22Yx6YHWOSnCUwzCZVil3bBfcqd7lCN5Q9%22%3B; **ADMINSSID=0iiuv63bs5i4uta8h0m9n9qfn3**; _identity=c93e0d595a75aeaa6c291cbf6bdcc6d8349ffeab8bc600d92bd88d2da1662e72s%3A14%3A%22%5B1%2C%22%22%2C2592000%5D%22%3B
    Cookie:_csrf=647e40861fa53a29f7525910aee78a6a570beb6b7dc311aa829c73740345de4es%3A32%3A%22OH3kTTcEqcZGxzr7kQk3sA7SQvTw3E7w%22%3B; **SITESSID=lphbtj675q5vki49jqtsci20p1**
    

    其中ADMINSSID的站点已经登录 但是 SITESSID的站点还是显示未登录。

    不知道哪里设置的不对,依然不能实现2个应用同步登录退出,如果可以,还请继续指导下。谢谢。
    折腾2天了,是不是我的思路不对,yii2不支持这种方式,因为毕竟是不同的子域名。比如为了防止跨站攻击等,yii是不容许这样进行用户身份管理的? 或者在不同子域名之间实现身份认证的同步有其他的方案?多谢了。

  • 2015-01-28 已签到
    连续签到1天,获得了5个金钱
  • 当然这个是说 设置了只读的属性。
    我想问的问题是 到底应该怎么设置 各应用之间的登录信息才会同步呢?

  • 请问。 配置了 www admin 2个应用的 config/main.php 文件 配置内容为

    'session' => [
        'class' => 'yii\web\Session',
        'name' => 'SITESSID',
    ],
    'session' => [
        'class' => 'yii\web\Session',
        'name' => 'ADMINSSID',
    ],
    

    依然不行。

    然后我将配置移动到上一层数组。

    'params' => $params,
    'session' => [
        'class' => 'yii\web\Session',
        'name' => 'SITESSID',
    ],
    

    yii直接报错

    Invalid Call – yii\base\InvalidCallException
    Setting read-only property: yii\web\Application::session
    

    还请解答一下原因,谢谢了。

16039/20000
资料完整度
40/100
用户活跃度
0/100

Ta的关注

3

Ta的粉丝

23

Ta的访客

111