我有一個用codeigniter編寫的網站。我的網站有2級。在codeigniter的所有網站頁面驗證用戶
- 管理
- 用戶
登錄時的用戶我的網站沒有任何錯誤,並正常工作,但是當我不註銷,並在瀏覽器中,用戶可以訪問輸入管理面板網址管理面板選項,並相反。
如何解決這個錯誤。
我有一個用codeigniter編寫的網站。我的網站有2級。在codeigniter的所有網站頁面驗證用戶
登錄時的用戶我的網站沒有任何錯誤,並正常工作,但是當我不註銷,並在瀏覽器中,用戶可以訪問輸入管理面板網址管理面板選項,並相反。
如何解決這個錯誤。
這是我用自己: 將它添加到控制器頂部的「類歡迎擴展是CI_Controller {」
public function login_check($user){
if(isset($_SESSION['user']))
{
if($_SESSION['user'] == $user)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
下,並創建你的頁面的功能是這樣的:
public function index()
{
if($this->login_check('admin'))
{
$this->load->view('welcome_message');
}
else
{
//Redirect here.
}
}
用我創建的用戶名創建一個庫。
class Users
{
public function __construct()
{
$this->ci =& get_instance();
}
function _is_admin()
{
if($this->ci->session->user_type != 'admin')
{
redirect('verify_user');
}
}
function _is_user()
{
if($this->ci->session->user_type != 'user')
{
redirect('verify_user');
}
}
}
加載庫或者把它自動加載在application/config/autoload.php
然後,只需調用函數在要限制哪一個你的方法上。
function abc()
{
$this->users->_is_admin();
// your code
}
如果你想限制控制器的所有方法,那麼在添加此方法Constructor
您應該使用_remap功能控制器來處理所有的請求,並在此功能,您應該有兩個主要部分,第一用於管理員功能,第二個用於其他人...
在數據庫中設置用戶類型,並在會話中檢查管理頁面(如果登錄用戶是管理員) – Poria
對管理員和用戶使用單獨的會話變量。 –
用戶類型已設置。類型爲url的用戶可以訪問所有管理面板選項。這種方式必須檢查所有頁面。有另一種方法嗎? @poria –