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的FTP学习(三)
Oct 09 PHP
PHP 中的批处理的实现
Jun 14 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
php自动跳转中英文页面
Jul 29 PHP
php生成缩略图的类代码
Oct 02 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
浅谈php7的重大新特性
Oct 23 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
Jun 07 PHP
php生成毫秒时间戳的实例讲解
Sep 22 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编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
基础的prototype.js常用函数及其用法
2007/03/10 Javascript
event对象的方法 兼容多浏览器
2009/06/27 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
js格式化时间小结
2014/11/03 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
微信小程序 获取微信OpenId详解及实例代码
2016/10/31 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
python编程嵌套函数实例代码
2018/02/11 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
使用Django清空数据库并重新生成
2020/04/03 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
金融专业应届生求职信
2013/11/02 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
《锄禾》教学反思
2014/04/08 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
python实现自动化群控的步骤
2021/04/11 Python
oracle重置序列从0开始递增1
2022/02/28 Oracle
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js
服务器SVN搭建图文安装过程
2022/06/21 Servers
Android实现图片九宫格
2022/06/28 Java/Android