在用ThinkPHP寫后臺管理模塊的用戶登陸權限的控制時,如何防止其他用戶直接訪問后臺首頁,需要對管理員是否登陸要進行驗證。因為后臺的頁面不止一個頁面,所以,如果針對每一個頁面都做權限管理的話會很麻煩。
在TP里,可以通過實現一個公共的控制器,讓后臺的控制器直接繼承這個公共控制器即可,在訪問后臺首頁時,會先訪問這個公共的控制器,只要在這個公共的控制器中,做好管理員驗證的事情即可。
公共的控制器類放在Application\\Common\\Controller目錄下,命名為CommonController.class.php,命名空間如下:
代碼如下:
<?php
namespace Common\Controller;
use Think\Controller;
class CommonController extends Controller {
public function _initialize(){
//判斷session里是否有值
if(!session('?username')){
redirect('/admin.php/login/login',2,'請先登陸');
}
}
}子類繼承時:這里用的時Admin模塊
<?php
namespace Admin\Controller;
use Common\Controller\CommonController;
class IndexController extends CommonController {
//后臺首頁模板顯示
public function index(){
$this->display();
}
}清空session:
public function logout(){
//清除session
$_SESSION = array();
session(null);
session('[destroy]');
redirect('/admin.php/login/login',2,'退出成功,返回首頁');
exit;
}免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。