我正在构建一个Laravel应用程序。我需要区分客人,管理员和所有者。我打算使用Confide和Entrust。让我举一个todo-application的例子:
问题的第一部分: 访客只能访问前端,管理员可以访问后端添加/编辑他自己的'项目和做项目。所有者可以查看所有注册用户的所有项目,还可以查看有关项目和任务的数量,使用该应用程序的用户数量,重置给定用户的密码,票务系统等的统计数据....
我会创建三个角色:来宾,管理员和所有者(使用Entrust)。然后我会(在路由器文件中)说所有以admin开头的路由都需要进行身份验证。但是如何为“老板”解决这个问题。所以我有以下情况:
1)来宾的路线:Route :: group(array(' before' =>' guest'),function(){....} 2)admin的路由:Route :: group(数组('前缀' =>' admin','之前' =>' auth&# 39;),function(){...} 3)所有者的路线:??
如何修复所有者路由:是否像执行一样简单:Route :: group(array(' prefix' =>' owner',' before&# 39; =>' auth'),function(){}或者我应该将所有者作为' admin'部分的一部分并在控制器中进行区分?
问题的第二部分:我如何确保自动为订阅该应用的用户分配管理员角色。
问题的第三部分:我如何确保只有1个所有者可以访问具有完全权限的应用程序?
答案 0 :(得分:0)
你需要使用acl 这里:
https://github.com/intrip/laravel-authentication-acl
在这里阅读更多关于acl的信息(如果你以前从未使用过它): http://en.wikipedia.org/wiki/Access_control_list
我来自cakephp,通常/ admin / *是authed内容,在应用程序中,您可以检测到您要向哪个用户提供内容,这样您就可以将它们发送到一个或另一个内容。
注册后,将该组设置为admin(easy)
你必须清除问题的第三部分。我不知道你是否需要一个管理员或第一个管理员等。