【问题标题】:Guest, admin and Owner roles in PHP (Laravel) projectPHP (Laravel) 项目中的访客、管理员和所有者角色
【发布时间】:2015-01-24 22:45:36
【问题描述】:

我正在构建一个 Laravel 应用程序。我需要区分来宾、管理员和所有者。我计划使用Confide and Entrust。让我举一个 todo-application 的例子:

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

我将创建三个角色:访客、管理员和所有者(使用 Entrust)。然后我会(在路由器文件中)说所有以 admin 开头的路由都需要经过身份验证。但是如何为“所有者”解决这个问题。所以我有以下情况:

1) 访客路由:Route::group(array('before' => 'guest'), function(){....} 2) 管理员路由:Route::group(array('prefix' => 'admin', 'before' => 'auth'), function() { ...} 3) 车主路线:??

如何修复所有者路由:是否像这样做一样简单:Route::group(array('prefix' => 'owner', 'before' => 'auth'), function() { } or should我将所有者作为“管理员”部分的一部分并在控制器中进行区分?

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

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

【问题讨论】:

    标签: php laravel user-roles


    【解决方案1】:

    你需要使用acl 这里:

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

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

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

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

    您必须弄清楚问题的第三部分。我不知道您是否需要一个管理员,或第一个管理员等。

    【讨论】:

      猜你喜欢
      • 2020-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-02-17
      • 2017-10-12
      • 2019-03-31
      相关资源
      最近更新 更多