简体   繁体   English

认证Laravel

[英]Authentication Laravel

When the dispatch method Auth::attempt and Auth::check returns true and then redirect to the Route admin 当调度方法Auth::attemptAuth::check返回true ,然后重定向到Route admin

class LoginController extends Controller {

    public function login(LoginRequest $request)
    {
        if (Auth::attempt($request->only(['login', 'password']))) {
            var_dump(Auth::check()); // true
            return redirect()->intended('admin');
        }

        return back();
    }
}

Route admin have middleware 路线admin有中间件

class AdminMiddleware
    {
        public function handle($request, Closure $next)
        {
            var_dump(Auth::check()); // false

            if (!Auth::check()) {
                return view('login');
            }

            return $next($request);
        }
    }

And then redirect method Auth :: check returns false , why is this happening? 然后重定向方法Auth :: check返回false ,为什么会发生这种情况?

replace your code with: 将您的代码替换为:

use Illuminate\Http\Response;
use Closure;
use Auth;

class AdminMiddleware
{
    public function handle($request, Closure $next)
    {
        if (!Auth::check()) {
            return new Response(view('login'));
        }

        return $next($request);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM