ThinkPHP - 每个操作都检测用户是否登录

TP提供了一个自动执行的函数_initialize(), 你创建一个公共控制器CommonAction.class.php文件.

  • 定义了此方法,不能存在构造方法__construct()
<?php
/**
* +-------------------------------------------------------
* |公共控制器
* |此后的模块,如果需要判断是否登录的化,直接继承此控制器
* |此控制器直接继承核心控制器
* +-------------------------------------------------------
*/
class CommandAction extends Action{
	/**
	 * 初始化方法
	 * @return  其余控制器继承此方法,进行判断登录
	 */
	public function _initialize(){
		//判断是否存在登录session
		//如果username不存在,且Islogin不等于1,重新调回登录页面
		if ( !session(‘?username‘) || session(‘IsLogin‘) !=  1 ) {
			//跳转回登录页面
			$this->error(‘您还没有登录,请登录......‘, ‘__ROOT__/Member/login‘);
		}
	}
}

之后所有的控制器都继承这个公共的就好 就像下面的小哥说的一样

时间: 2024-10-27 00:02:56

ThinkPHP - 每个操作都检测用户是否登录的相关文章

如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作

开发共享软件,传统的是采用注册码验证方式,这种方式是大多数共享软件采用的方式,另外还有一种常见的验证方式,就是通过网络授权认证的方式,这种方式通过在程序中调用服务器的服务进行.一般具有验证用户名可用.注册新用户.用户登录认证.用户修改密码等操作,另外还需要配备一个网络授权入口给管理员对注册的用户进行授权控制. 这个是为了进行网络授权认证搭建的一个简单的管理后台,用户在共享软件客户端通过调用服务器的服务连接,可以注册一个新用户,或者进行登录获取身份信息(试用.已注册.已禁用等状态),还可以通过服务

MVC 检测用户是否已经登录

     当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的OnInit()方法,在OnInit()中判断Session中是否有用户登录的信息 ///<summary> /// 公共基类里面干一些公共的事情 ///</summary> public class BasePage : System.Web.UI.Page { //页面生命周

使用ASIFormDataRequest完成用户的登录操作

ASIFormDataRequest是用于向表单post数据或get数据,可以用于用户向服务器端发送请求完成登录注册,上传下载数据的操作. 之前写过一篇文章是介绍使用ios内置的功能完成登录操作(NSMutableURLRequest 用法,一个结合PHP后台程序用户登录的例子),现在我们使用ASIFormDataRequest来完成用户的登录操作首先我们在apache服务器创建一个login.php的文件,文件内容为:<?phpheader("Content-type: text/htm

[转]MVC 检测用户是否已经登录

本文转自:http://blog.csdn.net/jayzai/article/details/41252137 当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的OnInit()方法,在OnInit()中判断Session中是否有用户登录的信息 [csharp] view plaincopyprint? ///<summary> /// 公共基类

在Linux下记录所有用户的登录和操作日志

一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的数据丢失,就很难查到是谁操作的. 在这里我们通过脚本代码来实现记录所以用户的登录操作日志: 编辑/etc/profile文件,在文件末尾加入下面代码: 首先加上一行,来记录实时的 export HISTTIMEFORMAT="%F %T `who am i|awk '{print $1}'` as `whoami` : " 实时的有缺

服务器如何判断当前用户是否登录?

// 1. 如果是即时通信类:长连接. // 如何保证服务器跟客户端保持长连接状态? // "心跳包" 用来检测用户是否在线!用来做长连接! // token 值: 相当于登录令牌! 用来判断当前用户的登录状态! // token 值特点: 是一个字符串/大整数,只需要保证唯一性.是服务器根据用户的信息(账号/密码/身份认证机制(电话号/身份证号/支付宝账号/银行卡信息)...)来生成的用于标识用户身份的值! // token 值获取: // 当用户首次登录成功之后, 服务器端就会生成

判断用户是否登录弹框

应用场景:某个操作需要用户登录才可以访问,使用方法. 1)天猫使用了两种方法.一种cookie判断: i.用户未登录,没有生成cookie,弹出登录框. ii.用户登录后生成cookie   iii.删除cookie要求重新登录 vi. 在当前页面之外打开另外一个页面进行登录.再回到当前页面,此时点击立即购买或加入购物车可以自动判断用户已经登录并进入下一页. 2)天猫右边的快捷入口现在可以识别用户是否在其它页面登录.原先这个用户信息在左边,如果用户在其它页面登录,并且在当前页面没有刷新的情况下点

检测到有人登录到linux,mysql,ftp,就发邮件通知管理员

最近老板总感觉有人能登录到公司的linux系统,我排查了半天也没有找到任何蛛丝马迹,干脆设置一个陷阱,等着那个人往里走 [1]使用sendmail搭建简单邮件服务器 第一步:安装sendmail并启动服务 yum -y install sendmail /etc/init.d/sedmial start 第二步:修改mail的配置文件,即在/etc/mail.rc最后添加下面内容 set from=邮箱地址,后面必须要有@qq.com一类的字样 set smtp=smtp地址 set smtp-

mysql用户修改登录密码及开启远程登录

一.修改用户登录密码: mysql> show databases;ERROR 1820 (HY000): You must SET PASSWORD before executing this statementmysql> quitBye[[email protected] ~]# mysqladmin -uroot -p password --修改用户密码Enter password: New password: Confirm new password: [[email protect