2010-05-24 105 views
1

我想知道我們如何在PHP中爲不同的用戶創建不同的「用戶角色」。 例如:如何在PHP中處理不同的previliges角色?

管理員可以創建所有類型的用戶,添加,查看,處理數據,刪除管理員,觀衆和工作人員等

經理只能創建,工作人員和觀衆,可以添加和查看數據, 工作人員無法創建新用戶,但只能添加數據和查看數據,

查看者只能查看由工作人員,管理人員和管理員添加到數據庫的數據。

我雖然它能夠更好地使用像不同的會話:

$_SESSION['admin'] 
$_SESSION['manager'] 
$_SESSION['worker'] 
$_SESSION['viewvers'] 

,併爲每個頁面檢查它們中有一個真正的或肯定的價值,但我想知道他們是如何做到這一點的真實和大項目???有沒有其他方法?

回答

2

取決於事物的宏偉模式(希望你們都知道,大聲笑)。通常,用戶的標識符是什麼級別。如「狀態」或「類型」字段。

$ _SESSION [ '與loggedInUser'] [ '類型']

該類型通常是數字的。 1可能是普通用戶,2可能是版主,3管理員等。

剩下的就是你如何在你的代碼中管理它。像cakephp這樣的框架可以讓你通過他們的auth對象訪問登錄的用戶,並且你可以擁有你想要的任何數據:)

我知道這是非常膚淺的,但是可惜的是,問題也是如此。希望它有幫助:)

0

你應該像在$_SESSION['Role']中的角色,並填寫登錄時。然後每次檢查該角色是否具有執行操作的權限。

1

實現用戶權限的常用方法是「用戶級別」,其中每個用戶級別都可以用int表示。例如:

0 = guest, no privileges 
1 = standard user, read-only access 
9 = power user, read/write access 
10 = admin, all access

在整個應用程序中,檢查用戶訪問級別並相應地允許或拒絕訪問。如果你有一些地方的特權不一定是分層的,它會變得更加複雜。

在這種情況下,您可以檢查您的會話變量(在用戶認證之後),例如$_SESSION['user_level'];

相關問題