php判断有没有登录,请问thinkphp 怎么在每个方法里面判断是否登录?
[tp版本3.2.3]
我在Controller里面写了一个公共类CommonController.class.php,写了一个构造方法来判断是否登录,没登录就重定向到登陆页:
namespace Admin\Controller;
use Think\Controller;
class CommonController extends Controller
{
public function __construct()
{
$isLogin = session('islogin');
if (!$isLogin) {
$this->redirect('Login/index');
return;
} else {
session('islogin', $isLogin); // 如果登录刷新一下?不知道是不是这样去刷新,因为可能出现登录了后过期的情况。
}
}
}
这样做有一个问题,就是没有登录的时候始终会重定向。报错127.0.0.1 将您重定向的次数过多。
于是我改成了
class CommonController extends Controller
{
public function isLogin()
{
$isLogin = session('islogin');
if (!$isLogin) {
$this->redirect('Login/index');
return;
} else {
session('islogin', $isLogin); // 如果登录刷新一下?不知道是不是这样去刷新
}
}
}
接着在其它继承CommonController的文件每一个都去加一个构造函数,如
ArticleController.class.php
namespace Admin\Controller;
use Think\Controller;
class ArticleController extends CommonController
{
function __construct()
{
parent::isLogin(); // 这样写会报错,不知道为什么,报错提示如下
}
public function dolist()
{
$this->show("hallo world");
}
}
报错提示:
Call to a member function display() on null
错误位置
FILE: X:\domainX\ThinkPHP\Library\Think\Controller.class.php LINE: 69
最后这样写才不报错:
namespace Admin\Controller;
use Think\Controller;
class ArticleController extends CommonController
{
public function dolist()
{
parent::isLogin(); // 这样写
$this->show("hallo world");
}
}
问题:
为什么继承CommonController.class.php的类也不能再__construct里面判断呢?
继承CommonController.class.php的类如果都要判断是否登录,就需要在每一个方法里面写parent::isLogin();,这样做合理吗?还是说这样做本来就是合理的?
php判断有没有登录,请问thinkphp 怎么在每个方法里面判断是否登录?相关推荐
- android使用post方法登录,使用REST API使用POST方法在Android中登录示例
如果您熟悉库,则完成此任务的简单方法是使用库.我推荐 Ion,因为它小而且易于使用.添加库并将以下代码段添加到您选择的方法中. Ion.with(getApplicationContext()) .l ...
- 明日之后 找不到服务器,明日之后登录服务器错误怎么办 登录服务器错误请重试解决方法...
明日之后官方版v1.0安卓版 类型:角色扮演大小:0KB语言:中文 评分:6.6 标签: 立即下载 明日之后今天开启安卓测试,玩家下载游戏就能玩啦,不过很多玩家在进入游戏界面显示登录服务器错误请重试, ...
- php判断几维数组的方法,php判断是几维数组
php判断是几维数组的方法:首先获取需要进行判断的数组:然后使用自定义的"aL"方法实现判断数组是几维数组:最后通过"max($al)"方法获取数组的维度即可. ...
- ASP.NET会员注册登录模块(MD5加密,Parameters防止SQL注入,判断是否注册)
MD5加密,Parameters防止SQL注入: protected void btnLog_Click(object sender, EventArgs e) { //获取验 ...
- php 微信第三方登录demo,第三方登录 - 快速接入微信、QQ、微博等第三方登录方式 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
此插件基于FastAdmin和Thinkphp5开发的第三方登录插件,可用于对接微.微博.QQ等第三方登录,目前CMS中的小程序账号登录绑定就是基于此插件开发,在使用CMS中的小程序登录功能之前请务必 ...
- html表单提交不判断,请问jquery有方法可以判断一个表单提交之后结果是成功或不成功吗?...
具体是这样的,今天在做项目的时候用到layer弹出插件,我弹出的是一个iframe层.我用了ajax提交,通过ajax提交后的回调判断提交是否成功,成功就调用parent.layer.close(in ...
- access突然需要登录_早知道早好,微信小程序登录开发需要注意的事项
最近公司要做一个企业微信的小程序,方便企业内的成员来登录,以便一些公司内的业务,只限于公司内的成员来操作,因为有微信小程序的开发经验,所以先当作微信小程序来开发了! 首先来讲一下这个企业微信小程序与微 ...
- aspnet登录界面代码_SPA+.NET Core3.1 GitHub第三方授权登录
GitHub第三方授权登录 有许多文章都讲过GitHub第三方授权登录,但就是没有.NET Core配合前后端分离的项目(Vue,React)的实践.所以本文以前后端分离项目中如何在授权登录后,生成T ...
- spring interceptor 拦截方法,判断用户是否存在
2019独角兽企业重金招聘Python工程师标准>>> //基于spring mvc+spring +mybatis的一个拦截方法,判断用户是否存在,从而进行页面跳转的小demo 核 ...
最新文章
- 解密淘宝网的开源架构(转)
- 使用友盟的社会化组件,发新浪微博的 error:redirect_uri_mismatch的解决方法
- 嵌入式linux实时化技术,嵌入式Linux实时化技术
- android静态类保存context,Android:静态获取Context是一个好习惯吗?
- 20年来从不涨价,这个地方用1块钱的打火机,垄断了全球70%的市场
- linux下ssh/sftp配置和权限设置
- (转)log4j(二)——如何控制日志信息的输出?
- 使用JSP做一个小小的项目(一)
- koolproxy无法下载https证书的解决方法
- 易点易动助力企业年中固定资产盘点
- 免费的在线PDF转换word网站推荐
- kali破解wifi 密码(仅供学习)
- word文档替换技巧(空行替换、空格替换、软回车替换成硬回车)
- Django 表单 AuthenticationFrom自动检测user的name 和 password , has no attributes cleaned_data
- 谷歌 Android 12 Go 正式发布!
- SpringBoot项目端点配置
- docker基础(11):自定义tomcat镜像启动与访问
- GraphQL的了解和简单使用
- python数学建模--线性规划问题案例及求解
- 2-15 微信小程序array数据类型(附带方法解析)
热门文章
- js 正则 或者_如何彻底搞懂面向 Web 开发者的正则表达式?
- 壁式框架内力计算_4种类型剪力墙的计算要点
- Win11怎么设置桌面软件小图标 Win11设置桌面软件小图标教程
- centos6.5安装bugzilla超详细教程
- sql语句优化总结 mysql_MySQL-SQL优化总结
- 后端开发 java_Java后端开发三年,你不得不了解的JVM
- python 3.9.0a0_Python 3.9.0 稳定版发布
- php实现小说字典功能_PHP实现生成数据字典功能示例
- python变量类型有几种_python十种变量类型
- Android adb 启动APP