【发布时间】:2014-07-19 21:02:06
【问题描述】:
请告诉我如何使用 laravel 限制页面,
我有 3 个用户。
1. 管理员,2. 客户,3. 合作伙伴
我想如果管理员登录然后只打开 - admin.index 页面
如果客户端已登录,则仅打开-client.index 页面
我在 route.php 中使用了以下代码-
Route::group(array('before' => 'role'), function(){
Route::resource('admin','AdminController@index');
Route::resource('client','clientController@index');
Route::resource('partner','partnerController@index');
});
使用上面的代码,如果没有任何用户登录,那么它会正常运行,
并假设如果管理员登录,然后页面重定向到 AdminController 但是,
如果我硬编码(网址)点击clientController or partnerController 就像http://localhost/laravel-login/public/client 那么客户端页面即将到来。
所以请告诉我如何避免这些
对不起我的英语不好..
谢谢
【问题讨论】:
-
可能你必须为每个角色创建不同的过滤器,并为每个角色添加一个进入路径。
-
@fmgonzalez:我喜欢你的建议。你能回答吗?我有一个与您的建议非常相似的代码。我和 Reena 几乎有同样的问题。
-
@evoque2015 我有两个级别的权限。我可以授予对路由级别的访问权限,因此一个用户可以拥有多个角色,并且每个角色都有一些授予的路由。在每条路线中,我都请求权限,并寻找路线。它更灵活,但维护起来更复杂。另一方面,您不需要向控制器添加任何内容,也不需要对角色进行硬编码。
-
@fmgonzalez:我被困在这个问题上,还没有一个答案。 :(stackoverflow.com/questions/27236098/…