php后台如何避免用户直接进入方法实例
php后台如何避免用户直接进入方法实例
发布时间:2016-12-29 来源:查字典编辑
摘要:1)创建BaseController控制器继承Controller(后台的一切操作要继承BaseController):在BaseContr...

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教程学习
编程开发子分类