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 相关文章推荐
PHP 命令行参数详解及应用
May 18 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
PHP实现单例模式最安全的做法
Jun 13 PHP
php事务处理实例详解
Jul 11 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
wordpress网站转移到本地运行测试的方法
Mar 15 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
THINKPHP截取中文字符串函数实例代码
Mar 20 PHP
php实现留言板功能(会话控制)
May 23 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代码
2010/08/08 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python Matplotlib库入门指南
2015/05/18 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
IRO美国官网:法国服装品牌
2018/03/06 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
公务员保密承诺书
2014/03/27 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
小学运动会报道稿
2015/07/22 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
JavaScript中isPrototypeOf函数
2021/11/07 Javascript