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中对数据库操作的封装
Oct 09 PHP
PHP写杨辉三角实例代码
Jul 17 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
Apr 24 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
PHP多态代码实例
Jun 26 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 PHP
微信小程序和php的登录实现
Apr 01 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中的内存管理问题
2011/08/31 PHP
PHP异常处理浅析
2015/05/12 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
微信小程序 网络API发起请求详解
2016/11/09 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
详解Python中is和==的区别
2019/03/21 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
详解Python多线程下的list
2020/07/03 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
skyn ICELAND官网:冰岛成分天然护肤品
2020/08/24 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
奥林匹克的口号
2014/06/13 职场文书
交通事故协议书范文
2014/10/23 职场文书
挂职个人工作总结
2015/03/05 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript
Python几种酷炫的进度条的方式
2022/04/11 Python