【发布时间】:2014-11-15 19:54:47
【问题描述】:
我有 3 个角色和一个管理面板,我想根据角色在面板上更改链接(和路由),但我不使用任何软件包...我有 1 个通用过滤器、1 个管理过滤器、1 个版主过滤器和 1 个不同的用户过滤器。使用不同的用户过滤器,我想更改控制面板中的所有链接。 这是我的问题:
Route::group(array('before' => 'common'), function(){
Route::controller('panel','admin_PanelController');
Route::controller('phone','phneController');
Route::controller('internet','internetController');
Route::controller('message','messageController'); // siteden gelen başvurular
/* admin */
Route::group(array('before' => 'admin'), function()
{
Route::controller('useroptions','useroptionsController');
});
/* moderator */
Route::group(array('before' => 'mod'), function()
{
Route::controller('notifications','notificationsController');
});
});
/* different user */
Route::group(array('before' => 'diffuser'), function()
{
Route::controller('panel','admin_PanelController');
});
我只想向扩散器显示面板并阻止其他通往扩散器的路线,但是当为不同的用户编写这些最终代码时,以上这些部分不起作用!
请帮助我,等待帮助!
我的过滤器
Route::filter('common', function()
{
if (Auth::guest() )
{
return Redirect::guest('login');
}
});
Route::filter('admin', function()
{
if (Auth::guest() || Auth::user()->type !== "admin" )
{
return Redirect::guest('login');
}
});
Route::filter('mod', function()
{
if (Auth::guest() || Auth::user()->type !== "mod" )
{
return Redirect::guest('login');
}
});
Route::filter('diffuser', function()
{
if (Auth::guest() || Auth::user()->type !== "diffuser" )
{
return Redirect::guest('login');
}
});
【问题讨论】:
标签: authentication filter laravel-routing user-roles