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 远程关机操作的代码
Dec 05 PHP
php中inlcude()性能对比详解
Sep 16 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
php的curl封装类用法实例
Nov 07 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
CI框架支持$_GET的两种实现方法
May 18 PHP
PHP入门教程之表单与验证实例详解
Sep 11 PHP
PHP magento后台无法登录问题解决方法
Nov 24 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 PHP
零基础php编程好学吗
Oct 11 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投票系统防刷票判断流程分析
2012/02/04 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
Vue微信项目按需授权登录策略实践思路详解
2018/05/07 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
python django 实现验证码的功能实例代码
2017/05/18 Python
Python csv模块使用方法代码实例
2019/08/29 Python
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
介绍java中初始化块的使用
2012/09/11 面试题
给排水专业应届生求职信
2013/10/12 职场文书
行政前台岗位职责
2013/12/04 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
《窃读记》教学反思
2016/02/18 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS
nginx搭建NFS网络文件系统
2022/04/14 Servers
nginx配置之并发频次限制
2022/04/18 Servers
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers