2011-08-05 80 views
0

我正在研究網站的後端。它已經在工作,而且一切都已到位,但我最近建立了一個用戶管理部分。現在我想爲用戶創建用戶權限,只允許那些在數據庫中設置爲管理員的用戶訪問用戶管理頁面。PHP用戶訪問控制 - 檢查Page_Load

我做了與.NET一些東西,有一個非常好的驗證功能,並在頁面加載我檢查用戶是否有權訪問這個網頁,如果沒有他重定向到一個拒絕訪問頁面。有什麼類似的PHP?這將獲得登錄用戶的用戶名,並檢查數據庫,如果他被允許,他會看到該網站,否則他會被重定向到訪問被拒絕的頁面。

如果有更好的解決方案,請隨時張貼在這裏!

回答

0

下面是一個基本(用於起動器)例如:

在每一頁(代替該一個頂部:行:1)需要身份驗證:

<?php 
    session_start(); 
    //check if login key is already present, if yes user is already login 
    if(!isset($_SESSION['login']) { 
    header('location: login.php'); //redirect to login page 
    } 

    //sample of accessing a session variable 
    echo "current user is ", $_SESSION['username']; 
?> 

在登錄頁面:

<?php 
    session_start(); 
    //check if user credentials 
    if(username and password) { 
     //set a marker on the session 
     $_SESSION['login'] = true; 
     $_SESSION['username'] = $username; 
     //place additional info on the session 
    } 
?> 

在你註銷頁:

<?php 
    session_start(); 
    unset($_SESSION['login']); 
    //or $_SESSION = array(); //clears all session variables 
?> 
1

這真的取決於你需要系統處理什麼。大多數基於PHP的authenication系統使用會話變量和MySQL存儲,並保持提供給應用程序活躍用戶的信息。我從來沒有使用過這一點,但SUMO顯然是一個容易實現的認證系統。這也是比較容易建立一個基本的用戶認證/權限系統PHP。谷歌搜索將帶來數以千計的教程。

+0

我想出來的東西與會話的那一刻,因爲我已經想通了,如果只有我可以存儲該用戶所屬的,然後我就可以使用組作爲認證組 –