Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 1258 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

    namespace App\Http\Controllers;

    use App\Http\Requests\Auth\LoginRequest;
    use Illuminate\Http\RedirectResponse;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Auth;
    use Illuminate\Validation\ValidationException;
    use Illuminate\View\View;

    class BackendController extends Controller
    {
        /**
         * Display the login view.
         */
        public function create(): View
        {
            return view( 'admin.login' );
        }

        /**
         * Handle an incoming authentication request.
         */
        public function store( LoginRequest $request ): RedirectResponse
        {
            try
            {
                $request->authenticate();
                $_SESSION["admin"]["uid"] = auth( 'admin' )->id();
                $_SESSION["admin"]["user"] = auth( 'admin' )->user();
                $_SESSION["admin"]["user"]->last_login = date( "Y-m-d H:i:s" );
                $_SESSION["admin"]["user"]->update();
                $request->session()->regenerate();

                return redirect()->intended( "/backend" );
            }
            catch ( ValidationException $e )
            {
                dd( $e->getMessage() );
            }

        }

        /**
         * Destroy an authenticated session.
         */
        public function destroy( Request $request ): RedirectResponse
        {
            Auth::guard( 'admin' )->logout();

            $request->session()->invalidate();

            $request->session()->regenerateToken();

            return redirect( '/backend' );
        }
    }