php后台如何避免用户直接进入方法实例


Posted in PHP onOctober 15, 2013

1)创建BaseController控制器继承Controller(后台的一切操作要继承BaseController):

在BaseController里面添加:

public function checkLogin() {         if (Yii::app()->authority->isLogin() == Yii::app()->authority->getStatus('NOTLOGIN')) { 
            $url = $this->createUrl('user/login'); 
            if (Yii::app()->request->isPostRequest && Yii::app()->request->isAjaxRequest) { 
                echo json_encode(array('code' => -101, 'message' => '用户未登录。', 'callback' => 'window.location="' . $url . '";')); 
            } else if (Yii::app()->request->isAjaxRequest) { 
                echo '<script language="javascript">window.location="' . $url . '";</script>'; 
            } else { 
                $this->redirect($url); 
            } 
            exit; 
        } 
        return true; 
    }

在components目录下创建Authority.php文件:

<?php /** 
 * 权限检查组件 
 */
class Authority extends CComponent { 
    private $NOTLOGIN = -1; 
    private $FAILED = -2; 
    private $PASS = 1; 
    public function init() { 
    } 
    /** 
     * 检查是否登陆 
     * @return boolean  
     */
    function isLogin() { 
        return isset(Yii::app()->session['user']) ? $this->PASS : $this->NOTLOGIN; 
    } 
   
    /** 
     * 获取状态值 
     * @param string $name 
     * @return int  
     */
    public function getStatus($name){ 
        return $this->$name; 
    } 
}
PHP 相关文章推荐
CodeIgniter php mvc框架 中国网站
May 26 PHP
PHP中ob_start函数的使用说明
Nov 11 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
Yii2框架使用计划任务的方法
May 25 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
Jun 06 PHP
php下拉选项的批量操作的实现代码
Oct 14 #PHP
php登陆页的密码处理方式分享
Oct 14 #PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 #PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 #PHP
php检测网页是否被百度收录的函数代码
Oct 09 #PHP
php MessagePack介绍
Oct 06 #PHP
php 批量替换程序的具体实现代码
Oct 04 #PHP
You might like
PHP+DBM的同学录程序(1)
2006/10/09 PHP
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
composer.lock文件的作用
2016/02/03 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
python简单分割文件的方法
2015/07/30 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
python3处理含有中文的url方法
2018/05/10 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python使用列表的最佳方案
2020/08/12 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
大学生实习自我鉴定
2013/12/11 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
父亲追悼会答谢词
2014/01/17 职场文书
支教自我鉴定
2014/01/18 职场文书
工程质量承诺书
2014/03/27 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
家装电话营销开场白
2015/05/29 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python
Golang中channel的原理解读(推荐)
2021/10/16 Golang