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
介绍几个array库的新函数 php
Dec 29 PHP
php引用地址改变变量值的问题
Mar 23 PHP
php获取淘宝分类id示例
Jan 16 PHP
destoon官方标签大全
Jun 20 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
CI框架集成Smarty的方法分析
May 17 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
PHP实现二维数组按某列进行排序的方法
Nov 18 PHP
php json相关函数用法示例
Mar 28 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 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
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
php实现文件上传基本验证
2020/03/04 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
vue之延时刷新实例
2019/11/14 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Django框架中方法的访问和查找
2015/07/15 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
python用post访问restful服务接口的方法
2018/12/07 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
乡镇办公室工作决心书
2014/03/11 职场文书
亮化工程实施方案
2014/03/17 职场文书
工程索赔意向书
2014/08/30 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书