PHP (Laravel) 项目中的来宾、管理员和所有者角色


Guest, admin and Owner roles in PHP (Laravel) project

我正在构建一个Laravel应用程序。我需要区分访客、管理员和所有者。我计划使用Confide和Entrust。让我举一个带有待办事项应用程序的示例:

问题的第一部分:来宾只能访问前端,管理员可以访问后端以添加/编辑他的"自己的"项目和待办事项。所有者可以查看所有注册用户的所有项目,还可以查看有关有多少项目和任务,有多少用户正在使用该应用程序,为给定用户重置密码,票务系统等的统计信息。

我将创建三个角色:来宾,管理员和所有者(使用委托)。然后我会(在路由器文件中)说所有以 admin 开头的路由都需要进行身份验证。但是如何为"所有者"解决这个问题。所以我有以下情况:

1) 来宾路由: 路由::组(数组('之前' => 'guest'), function(){....}2) 管理员路由::组(数组('前缀' => 'admin', 'before' => 'auth'), function() { ...}3)所有者的路线:??

如何修复所有者路由:它是否像做一样简单:路由::group(array('前缀' => 'owner', 'before' => 'auth'), function() { } 还是我应该将所有者作为"admin"部分的一部分并在控制器中进行区分?

问题的第二部分:如何确保自动为订阅应用的用户分配管理员角色。

问题的第三部分:如何确保只有 1 个所有者可以使用完全权限访问应用程序?

你需要使用 acl这里:

https://github.com/intrip/laravel-authentication-acl

在此处阅读有关ACL的更多信息(如果您以前从未使用过它):http://en.wikipedia.org/wiki/Access_control_list

我来自cakephp,通常/admin/*是身份验证内容,在应用程序中,您可以检测您正在向哪个用户提供内容,因此您可以将他们发送到一个或另一个内容。

注册后,将组设置为管理员(简单)

问题的第三部分你必须清除。我不知道你是否需要一个管理员,还是第一个管理员等。