Laravel generating invalid routes -


i don't know happened laravel, laravel generating invalid routes when performing action when open comments box click button comments modal box opened fines when see in chrome developer option -> network shows me many invalid routes. idea why happening?

please see attached screnshot:

admin route prefix

enter image description here

route::group(['prefix' => 'admin', 'before' => 'allow_only_admin'], function () { }); 

http://projecturl.com/admin/order/

route::filter('allow_only_admin', function () {     if (auth::check() && !auth::user()->is('admin')) {         return redirect()->intended('user/login');      } else {      } }); 

this abc middleware:

class abc {      public function handle($request, closure $next) {         if (\auth::check() && \auth::user()->admin) {             return $next($request);         }         return redirect()->route('user.login');     } } 

this no_auth filter: check user logged in , redirect user role

route::filter('no_auth', function () {     if (auth::check()) {         if (auth::user()->is('admin')) {             return redirect::route('orders.all');         }          if (auth::user()->is('writer')) {             return redirect::route('windex');         }          if (auth::user()->is('teamlead')) {             return redirect::route('tlindex');         }     } }); 

and login route:

route::group(['prefix' => 'user', 'before' => 'no_auth'], function () {     route::get('login', ['as' => 'user.login', 'uses' => 'auth\authcontroller@showloginform']); }); route::post('user/login', ['as' => 'user.post.login', 'uses' => 'auth\authcontroller@postlogin']); route::get('user/logout', ['as' => 'user.logout', 'uses' => 'auth\authcontroller@getlogout']); 

your middlware looping indefinitely redirects. tried redirecting once , happened. i'd suggest reorganizing admin middleware, here use:

app\http\middleware\admin.php:

<?php namespace app\http\middleware;  use closure;  class admin {      public function handle($request, closure $next)     {         if (\auth::check() && \auth::user()->admin) {             return $next($request);         }        return redirect()->route('some.route');     } } 

app/http/kernel.php

protected $routemiddleware = [     ...     'admin' => 'app\http\middleware\admin', ]; 

set middleware: in kernel.php add 'admin' => 'app\http\middleware\admin', in routes.php: route::group(['middleware' => 'admin'], function() { ...admin routes...

edit: after added more code, here tips, maybe fix problem.

you don't need route filters, remove them all. use route groups, admin routes in statement:

routes.php

route::group(['middleware' => 'admin', 'prefix' => 'admin'], function() {    ... admin routes } 

don't forget register admin middleware in kernel.php correct name (admin in example).

to redirect users own area, try putting logic in post login route in auth\authcontroller@postlogin. there check if credentials correct (auth::attempt) , if are, make if else redirect user correct place.

you don't need no_auth filter, remove it.


Comments

Popular posts from this blog

Java 3D LWJGL collision -

methods - python can't use function in submodule -

c# - ErrorThe type or namespace name 'AxWMPLib' could not be found (are you missing a using directive or an assembly reference?) -