我认为你需要在这里思考几个概念。第一个将是访问控制列表(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包如果你有时间和理解,你可以使用,或者推出自己的产品。
祝你好运。