我想知道如何在laravel 5.4中设置 auth 中间件。我正在尝试设置重定向路由
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect()->route('home');
}
return $next($request);
}
}
但没有chages。 有人可以提出解决方案吗?
答案 0 :(得分:0)
您的中间件可能按原样运行,但您仍需要启用此功能。有关注册中间件的信息可以在here找到,但简而言之:
// Within App\Http\Kernel Class...
protected $routeMiddleware = [
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
];
这会将您的中间件命名为“guest”(如果您事先执行了php artisan make:auth
,则可能已启用此功能。
然后你需要应用它,这可以通过两种方式中的一种来完成。
在路线上。
Route::get('admin/profile', 'AdminController@show')->middleware('guest');
Route::group(['middleware' => ['guest']], function () {//other routes});