首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii2高级应用,前端和后端的不同会话

Yii2高级应用,前端和后端的不同会话
EN

Stack Overflow用户
提问于 2015-04-24 19:47:38
回答 1查看 1.2K关注 0票数 0

我正在尝试建立一个Yii2高级项目。为此,我使用了kartik-v的高级应用程序模板。它工作得很好,但是(正如他刚才提到的here),如果你登录到前端,然后转到后端,你也会被登录。所以我想分开前端和后端登录(不同的会话)。我尝试配置身份cookie,但它不起作用。

在评论中,我发现:“尽管如此,当前端或后端登录并打开另一个时,它会显示自动登录,因为会话cookie是相同的,PHPSESSID。”因此,我在前端和后端的配置中更改了会话的名称和savePath。在这种情况下,它应该可以工作,但它不能。

每次我访问我的页面时,都会收到一个500内部服务器错误。如果我尝试登录,它就不能工作,它会重定向我,但不会让我登录。我发现,如果我不设置savePath,我不会得到错误,但仍然没有任何反应。如果选中“记住我”选项,我会收到错误消息,但登录可以正常工作。所以我不知道现在该怎么办。我的主要配置文件:

后端:

代码语言:javascript
复制
'components' => [
    'session' => [
        'name' => 'backend_sessid',
        'savePath' => __DIR__ . '/../tmp',
    ],
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => [
            'name' => '_backendUser',
            'path' => '/projectname/backend/web'
        ]
    ],

前端:

代码语言:javascript
复制
'components' => [
    'session' => [
        'name' => 'frontend_sessid',
        'savePath' => __DIR__ . '/../tmp',
    ],
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => [
            'name' => '_frontendUser',
            'path' => '/projectname'
        ]
    ],
EN

回答 1

Stack Overflow用户

发布于 2015-04-26 06:06:23

一种方法是使用这里描述的基于角色的访问控制:http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

这样,您可以为前端用户和后端用户设置不同的角色。如果具有不同权限的用户试图访问错误的站点区域,您可以注销该用户并将其重定向到登录页面。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29846720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档