我認爲你需要在這裏思考幾個概念。第一個將是訪問控制列表(ACL),然後是驗證。
在ACL中,可以定義資源,這是要限制訪問和角色,這是可以請求對資源的訪問對象的對象。
我實現我的ACL的方式是使用Zend_Acl。我有一個表稱爲user_roles
user_roles('user_role_id', 'name', 'permissions', 'parent_role_id')`
我也有一個表稱爲user_role_maps
一個用戶ID映射到用戶角色ID。 (你可以把它作爲用戶表的一列,但這隻取決於你對標準化的感受;-))然後我可以從這個表中構建我的Zend_Acl對象,然後當用戶通過身份驗證時,我可以確定他們有權訪問哪些資源以及他們可以在資源上執行哪些操作。 (A資源實現Zend_Acl_Resource_Interface
所以它是通過識別作爲Zend_Acl
資源。
至於認證,這是一個簡單的概念(在我看來),你可能已經想通了某種形式的令牌匹配認證系統自己。關鍵的方面是使用經過身份驗證的用戶ID來確定其角色。 Zend框架還在Zend_Auth中爲此提供了一個包。
我在這裏使用了很多Zend Framework的建議,原因在於它們的包對其他包的依賴性很少,使得插入組件非常簡單。我確信其他框架提供了ACL包如果你有時間和理解,你可以使用,或者推出自己的產品。
祝你好運。