Cet article présente comment le backend PHP empêche les utilisateurs de saisir directement les instances de méthode. Les amis dans le besoin peuvent s'y référer
1) Créez un contrôleur BaseController et héritez du Controller (toutes les opérations dans le backend doivent hériter du contrôleur). BaseController):
Ajoutez 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; }
Créez le fichier Authority.php dans le répertoire des composants :
<?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; } }
Ce qui précède est tout le contenu de ce article, j'espère que vous pourrez en tirer des leçons. Utile, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !
Recommandations associées :
À propos de l'analyse du motif de façade en PHP
Comment utiliser smtp en php pour envoyer du support pièces jointes E-mail
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!