ThinkPHP写后台管理程序时如何合适合理地对Session进行验证
2013-05-11 14:24
399 查看
初学ThinkPHP,写到后台管理页面的时候,遇到Session判断的问题,由于Session必须对每个页面进行检查,以前验证Session只是单纯地写一个 session.inc.php 文件,然后每个页都对其进行包含,而ThinkPHP是完全面向对象的框架,无法按照以前的方式进行判断,如果在每个对象方法中都调用Session判断函数又比较麻烦,唯一可靠的解决办法只有用构造函数:
首先登录页由于不用判断Session,所以登录页用单独的一个Action写,把需要判断Session的页面用另外一个独立的一个Action写(注意一定要全是需要判断Session的页面),下面我贴一下代码,希望对大家能有一个参考的作用!
class MainAction extends Action {
//构造函数,验证Session
public function __construct() {
parent::__construct(); //一定要注意这一行,这一行是为了执行父类中的构造函数,否则运行是会出错的
$this->CheckAdminSession();//
}
/*
** 省略其它模块方法.................
*/
private function CheckAdminSession(){
if(!session('?manager_user_id')){
$this->error('当前用户未登录或登录超时,请重新登录',U('Index/index'));
}
}
/*
** ******** The End *********
*/
}
这样只单独写这两个函数,其它的函数都不必理会这个CheckAdminSession()
首先登录页由于不用判断Session,所以登录页用单独的一个Action写,把需要判断Session的页面用另外一个独立的一个Action写(注意一定要全是需要判断Session的页面),下面我贴一下代码,希望对大家能有一个参考的作用!
class MainAction extends Action {
//构造函数,验证Session
public function __construct() {
parent::__construct(); //一定要注意这一行,这一行是为了执行父类中的构造函数,否则运行是会出错的
$this->CheckAdminSession();//
}
/*
** 省略其它模块方法.................
*/
private function CheckAdminSession(){
if(!session('?manager_user_id')){
$this->error('当前用户未登录或登录超时,请重新登录',U('Index/index'));
}
}
/*
** ******** The End *********
*/
}
这样只单独写这两个函数,其它的函数都不必理会这个CheckAdminSession()
相关文章推荐
- 如何C#程序进行验证码识别
- 如何实现在程序中进行网络计算机的用户验证
- Cocos2d-x 3.x:如何进行合理的内存分配(使用AutoreleasePool 来合理的管理内存)
- 如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证?
- IIS7服务器中如何配置FTP7和IIS管理凭据方式进行验证
- 如何在IIS7上配置 FTP7并使用IIS管理凭据方式进行验证
- 如何在struts2中利用session进行权限控制
- 在PC上安装虚拟机进行网络实验。如何规划,进行安装DHCP服务实验。还有dns服务器的验证
- Linux中如何让进程(或正在运行的程序)到后台运行
- 如何使用json数据进行前后台传输(整理)
- asp.net中的后台按钮如何先执行前台验证再执行后台代码
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- 如何让Python web程序持续运行在后台服务器
- windows7下如何使用myeclipse(eclipse)和cvs进行项目管理
- java-JConsole-如何利用 JConsole观察分析Java程序的运行,进行排错调优
- 如何对动态创建控件进行验证以及在Ajax环境中的使用
- symfony2如何使用Assetic进行管理资源【原创】
- 如何将后台死数据写入本地进行读取
- 如何进行有效的管理时间