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 删除cookie和浏览器重定向
Mar 16 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
Apr 20 PHP
php中实现精确设置session过期时间的方法
Jul 17 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
php获取文件名后缀常用方法小结
Feb 24 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
crontab无法执行php的解决方法
Jan 25 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
Oct 08 PHP
详解json在php中的应用
Sep 30 PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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实现阳历到农历转换的类实例
2015/03/07 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
js Date自定义函数 延迟脚本执行
2010/03/10 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
在vue中使用防抖函数组件操作
2020/07/26 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
python实现学员管理系统
2019/02/26 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python使用re模块验证危险字符
2020/05/21 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
班级活动策划书
2014/02/06 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS