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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
一个数据采集类
Feb 14 PHP
PHP 命名空间实例说明
Jan 27 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
PHP遍历目录并返回统计目录大小
Jun 09 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
php简单统计在线人数的方法
2016/05/10 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
php7 新增功能实例总结
2020/05/25 PHP
浅谈node.js中async异步编程
2015/10/22 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
详解Python发送邮件实例
2016/01/10 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python SVM 线性分类模型的实现
2019/07/19 Python
python list转置和前后反转的例子
2019/08/26 Python
python装饰器的特性原理详解
2019/12/25 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
升职自荐书范文
2013/11/28 职场文书
财务总监管理职责范文
2014/03/09 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
学生退学证明
2015/06/23 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang
漫画「请问您今天要来点兔子吗?」最新杂志彩页公开
2022/03/24 日漫