Laravel 如何添加过滤器全局、重定向,除非是路由
我应该在哪里添加一个过滤器,如果用户登录,则重定向到路由,除非该路由是a或b 是否可以将此添加到:Laravel 如何添加过滤器全局、重定向,除非是路由,laravel,Laravel,我应该在哪里添加一个过滤器,如果用户登录,则重定向到路由,除非该路由是a或b 是否可以将此添加到: App::before(function($request) { // }); 这样我就不必在每条路线上都添加过滤器。。。如果我决定不去,也许会有一些,除非 Pseudo: if logged in if no "property" then if not on "route1", "route2" redirect App::before(
App::before(function($request) { // });
这样我就不必在每条路线上都添加过滤器。。。如果我决定不去,也许会有一些,除非
Pseudo:
if logged in
if no "property" then
if not on "route1", "route2"
redirect
App::before(function($request) {
if (Confide:check()) {
if (confide:user()->prop == false) {
//redirect (UNLESS?)))
}
}
});
是的,您可以执行以下操作:
App::before(函数($request){
如果(信任:检查()){
if(confide:user()->prop==false){
如果(!在数组中(路由::getCurrentRoute()->getName(),数组('route1','route2'))
{
//重定向
}
}
}
});
无论如何,最好创建简单的路由并使用组对其进行筛选:
///无道具登录者的路由
路由::组(['before'=>'loggedInAndNoProp'],函数()
{
路由::get('admin',['as'=>'admin.index','uses'=>'AdminController@index']);
路由::get('admin/users',['as'=>'admin.users','uses'=>'AdminController@users']);
路由::get('admin/store',['as'=>'admin.store','uses'=>'AdminController@store']);
});
///未登录人员的路由(将在正常登录人员之前解决)
路由::get('route1',['as'=>'示例1','uses'=>'ExampleController@example1']);
路由::get('route2',['as'=>'示例2','uses'=>'ExampleController@example2']);
///已登录人员的路线(返回至他们)
路由::组(['before'=>'auth'],函数()
{
路由::get('/',['as'=>'管理员索引','使用'=>'HomeController@index']);
路由::get('users',['as'=>'admin.users','uses'=>'UsersController@users']);
路由::get('store',['as'=>'admin.store','uses'=>'StoreController@store']);
});
///主撤退路线,其他一切都到这一条了
路由::get({any?},['as'=>'示例3','uses'=>'ExampleController@example3']);