2014-09-26 144 views
0

在yii2高级模板中。当用户登录来自前端时,Yii2登录允许访问后端

如果我这样做下面我得到后端没有登录访问,即使是前端两个不同的数据库配置和前端登录页面后端

  1. 登录。
  2. 成功登录到前端后。
  3. 当我打开后端链接时,它显示已登录。
  4. 后端不需要登录。
  5. Visa - 如果我做相反的话。

如何限制?

+0

去布局main.php在后端目录则u知道为什么出现这种情况! – sprytechies 2014-09-26 12:31:11

+0

任何与会话在这里? – 2014-09-28 17:13:27

回答

2

您必须在config/main.php文件中为前端和后端设置不同的cookie。 对于EG:

在后端:

'components' => [ 
     'session' => [ 
      'name' => 'BACKENDID', //Set name 
      'savePath' => __DIR__ . '/../tmp', //create tmp folder and set path 
     ], 
    ], 

在前端:

'components' => [ 
     'session' => [ 
      'name' => 'FRONTENDID', 
      'savePath' => __DIR__ . '/../tmp', 
     ], 
    ], 

就是这样。

+0

tmp文件夹中应该有什么?我有与上面给出的相同的问题..试了这个答案,但不能理解什么是在tmp文件夹?我刚刚创建了一个emty文件夹并运行代码出错...无效参数 - yii \ base \ InvalidParamException 会话保存路径不是有效的目录:C:\ xampp \ htdocs \ yii2-my-app \ frontend \ config/tmp目录 – Goli 2017-11-14 12:22:45

0

后端/配置/ main.php

'components' => [ 
    'session' => [ 
     'name' => 'PHPBACKSESSID', 
     'savePath' => __DIR__ . '/../tmp', 
    ], 
    'user' => [ 
     'identityClass' => 'common\models\User', 
     'enableAutoLogin' => true, 
     'identityCookie' => [ 
     'name' => '_backendUser', // unique for backend 
     'path'=>'/yii-project/backend/web' // correct path for the backend app. 
    ], 

前端/配置/ main.php

'components' => [ 
     'session' => [ 
     'name' => 'PHPFRONTSESSID', 
     'savePath' => __DIR__ . '/../tmp', 
    ], 
    'user' => [ 
     'identityClass' => 'common\models\User', 
     'enableAutoLogin' => true, 
     'identityCookie' => [ 
     'name' => '_frontendUser', // unique for backend 
     'path'=>'/yii-project/frontend/web' // correct path for the backend app. 
    ],