/** * Login form. * * @author Casper Rasmussen <*****@*****.**> * * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\View\View */ public function login() { // keep 'url_to_redirect_to_after_user_login' in session for the next request, // so we can use it after user authentication is successful app('session')->keep(['url_to_redirect_to_after_user_login']); // If user is already authenticated, // redirect user to dashboard if (backend_user_check()) { return $this->redirectSuccess(new FlashRestorer()); } return view('nodes.backend::login.default'); }
/** * Check to see if user is authenticated. * If not, redirect user to login. * * @author Casper Rasmussen <*****@*****.**> * * @param \Illuminate\Http\Request $request * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { // Route is protected and requires a user session // // If user is not already logged in, we'll try and // look for the user in sessions and cookies. if (!backend_user_check()) { try { backend_user_authenticate(); } catch (\Exception $e) { // Create redirect response $redirectResponse = redirect()->route('nodes.backend.login.form')->with('warning', 'Oops! You\'re not logged in.'); // Apply existing flash messages (new FlashRestorer())->apply($redirectResponse); // Redirect with cookie return $redirectResponse->cookie('url_to_redirect_to_after_user_login', $request->url(), 2); } } return $next($request); }
/** * Check to see if user is authenticated. * If not, redirect user to login. * * @author Casper Rasmussen <*****@*****.**> * * @param \Illuminate\Http\Request $request * @param Closure $next * @return mixed */ public function handle($request, Closure $next) { // Route is protected and requires a user session // // If user is not already logged in, we'll try and // look for the user in sessions and cookies. if (!backend_user_check()) { try { backend_user_authenticate(); } catch (\Exception $e) { $data = ['message' => $e->getMessage(), 'code' => $e->getCode()]; if (env('APP_DEBUG')) { $data['class'] = get_class($e); $data['file'] = $e->getFile(); $data['line'] = $e->getLine(); $data['trace'] = explode("\n", $e->getTraceAsString()); } return response()->json($data, $e->getCode()); } } return $next($request); }