为了账号安全,请及时绑定邮箱和手机立即绑定

按教程设置完成之后,在后台的登陆一直是登陆成功了,但是页面不跳转

问题已解决,可以翻到下面看解决方法。

==========================================================

我按制作博客教程的视屏敲了2遍,都出现同样的问题,求大神帮忙。

(测试前都会用浏览器 删除Cookie和其他网站数据 和 清空缓存,使用360急速浏览器、火狐浏览器测试都是这样)

主要是网站跳转的问题,不知道为何做完分离之后,网站在前台登陆成功,会跳转到后台的Home界面,而后台登陆,页面无法跳转的情况(即使成功了,依然在Login界面)。

http://img1.sycdn.imooc.com//583a50be0001392207850565.jpg

求大神吗帮我看看,在此感谢!!!

我重写写过的代码还是有问题,代码在下面链接:

https://pan.baidu.com/s/1gf0skCF


我更改的页面有:
1. 创建common目录下的 AdminModel.php 和 common\UserModel.php。
2. 修改frontend目录下的 config\main.php 和 models\LoginForm.php 以及 controllers\SiteController.php
3. 修改backend目录下的 config\main.php 和 models\LoginForm.php 以及 controllers\SiteController.php

====================================================================

问题解决方法:

  1.  数据库出现问题,建议有问题的同学按教程中重新创建数据库试试。


  2. session组件的缺失,改成下面的即可:

//backend\config\main.php
//后台
    'components' => [
        'request' => [
            'csrfParam' => '_csrf-backend',
        ],
        'user' => [
            'identityClass' => 'common\models\AdminModel',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-backend','httpOnly' => true],
        ],
        'session' => [
            'name' => 'advanced-backend',
        ],
     ...之后无需更改...
     
//frontend\config\main.php
//前台
    'components' => [
        'request' => [
            'csrfParam' => '_csrf-frontend',
        ],
        'user' => [
            'identityClass' => 'common\models\UserModel',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-frontend','httpOnly' => true],
        ],
        'session' => [
            'name' => 'advanced-frontend',
        ],
         ...之后无需更改...


正在回答

3 回答

我说下可能出现的问题:

components中缺少了session组件的名称(也就是你删了的。。说:你还删了什么。。。。。。。。)你把session名称都删了,程序哪里分得清哪个是前台、哪个是后台。session存储的是登陆信息,你关闭session就是不存储登陆信息,也就是说你还是个游客,而且后台的siteController中又做了ACF验证,是游客的默认不被允许访问后台首页,所以你还在登陆成功还是在登陆页面。

解决办法:把config中删了的全部补回来。

0 回复 有任何疑惑可以回复我~
#1

闹闹l 回复 no4990 提问者

参照我给你发的图片配;前后台的config中都对照,少了的添上;明显缺少session,不然都登录成功了,怎么不跳。。。不行了直接把$this->goBack()改为$this->redirect(['site/index'])测试。
2016-11-27 回复 有任何疑惑可以回复我~
#2

闹闹l 回复 闹闹l

http://blog.csdn.net/llopensorce/article/details/53371533
2016-11-28 回复 有任何疑惑可以回复我~
#3

no4990 提问者 回复 闹闹l

您发来的代码和博客中写的内容我都看了。 我试了修改我之前传到网盘的blogbyyii项目,现在前台登陆不会串到后台了,不过后台现在还是出现了登陆无法跳转的情况。 在blogbyyii项目中我也试过将\blogbyyii\backend\controllers中SiteController.php文件下的: actionLogin()操作的$this->goBack()改为$this->redirect(['site/index']) 依然是无法跳转。 保险起见我又去修改的我后来重写的项目(已传到网盘),依然和blogbyyii是同一个问题。 能不能麻烦您帮我看看呢?非常感谢。
2016-11-28 回复 有任何疑惑可以回复我~
#4

no4990 提问者 回复 闹闹l

这是我重写的项目的代码: https://pan.baidu.com/s/1o8EXhLS =================================================== 我更改了frontend和backend目录下config中main.php文件: 在components下添加了'request','session'内容 'use'中添加了'identityCookie'内容 对应前后台都分别写了不同的代码。
2016-11-28 回复 有任何疑惑可以回复我~
#5

no4990 提问者

非常感谢!
2016-11-28 回复 有任何疑惑可以回复我~
查看3条回复


Yii高级模式前后端session是分开的,需要单独配置,不过个人感觉新学没必要这么做,用基本模板在权限设置的时候能省很多步骤,在其他很多地方也能节约不少时间,其实一开始我也用的高级模式,浪费太多时间在无聊的事情上。

0 回复 有任何疑惑可以回复我~
#1

no4990 提问者

我还没用过基本模板,我是先学这个的,看来还要都接触学习下才行。谢谢大神啦。
2016-12-04 回复 有任何疑惑可以回复我~

'urlManager' => [

// 'enablePrettyUrl' => true,

// 'showScriptName' => false,

],

把frontend/config/main.php 中的这个去掉 试试

0 回复 有任何疑惑可以回复我~
#1

no4990 提问者

问题目前已经解决了,是我的数据库有问题&session组件缺失。非常感谢您愿意回答我的问题!
2016-11-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP之Yii2框架搭建完整博客系统
  • 参与学习       22594    人
  • 解答问题       279    个

Yii是PHP快速开发的最佳实践之一,一起领略yii2快速开发的风采

进入课程

按教程设置完成之后,在后台的登陆一直是登陆成功了,但是页面不跳转

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信