diff --git a/src/backend/app/Http/Controllers/Web/Admin/HomeController.php b/src/backend/app/Http/Controllers/Web/Admin/HomeController.php new file mode 100644 index 0000000000000000000000000000000000000000..d6137c19f162005fee53d47bfe36d04fb37c0600 --- /dev/null +++ b/src/backend/app/Http/Controllers/Web/Admin/HomeController.php @@ -0,0 +1,12 @@ + SubstituteBindings::class, 'cache.headers' => SetCacheHeaders::class, 'can' => Authorize::class, - 'password.confirm' => RequirePassword::class, 'signed' => ValidateSignature::class, 'throttle' => ThrottleRequests::class, - 'verified' => EnsureEmailIsVerified::class, 'ajax' => AddAjaxHeader::class, + 'guest' => RedirectIfAuthenticated::class, ]; } diff --git a/src/backend/app/Http/Middleware/Authenticate.php b/src/backend/app/Http/Middleware/Authenticate.php index d9beff74a06baf0b4af5f3504e37d2ca9b0a6761..eff2dd012142ebcdebcfecf64a693f658f1190ae 100644 --- a/src/backend/app/Http/Middleware/Authenticate.php +++ b/src/backend/app/Http/Middleware/Authenticate.php @@ -15,6 +15,10 @@ class Authenticate extends Middleware protected function redirectTo($request): ?string { if (! $request->expectsJson()) { + if ($request->routeIs('web.admin.*')) { + return route('web.admin.login'); + } + return route('saml.login'); } diff --git a/src/backend/app/Http/Middleware/RedirectIfAuthenticated.php b/src/backend/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000000000000000000000000000000000000..966fa8326b323155f97511890ec5ded809d746de --- /dev/null +++ b/src/backend/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,26 @@ +check()) { + return redirect(route('web.index')); + } + + return $next($request); + } +} diff --git a/src/backend/app/Providers/RouteServiceProvider.php b/src/backend/app/Providers/RouteServiceProvider.php index 76f51e0daa0ef5c1369c0faf6c75216d4d3cd4a3..6d3b1e8573eb3cea38139c66a08a31bb0bb1597a 100644 --- a/src/backend/app/Providers/RouteServiceProvider.php +++ b/src/backend/app/Providers/RouteServiceProvider.php @@ -97,7 +97,7 @@ class RouteServiceProvider extends ServiceProvider */ protected function mapFrontendRoutes(): void { - Route::middleware(['web', 'auth:api']) + Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/frontend.php')); } diff --git a/src/backend/public/css/app.css b/src/backend/public/css/app.css index 9c7a303226dca1b9c86231076c59f197826628bc..6fb512c2b37fd1ca5b0c135df9ab25e067bdabc7 100644 --- a/src/backend/public/css/app.css +++ b/src/backend/public/css/app.css @@ -1,4 +1,4 @@ -@import url(https://fonts.googleapis.com/css?family=Nunito);@charset "UTF-8"; +@charset "UTF-8"; /*! * Bootstrap v4.5.0 (https://getbootstrap.com/) diff --git a/src/backend/resources/sass/app.scss b/src/backend/resources/sass/app.scss index 0f21e474df71c91a3f5e2ecdc041b655529f95e9..0aacc18e7feacc0fcce3f3049b9c332097c01ebc 100644 --- a/src/backend/resources/sass/app.scss +++ b/src/backend/resources/sass/app.scss @@ -1,5 +1,5 @@ // Fonts -@import url('https://fonts.googleapis.com/css?family=Nunito'); +//@import url('https://fonts.googleapis.com/css?family=Nunito'); // Bootstrap @import '~bootstrap/scss/bootstrap'; diff --git a/src/backend/resources/views/auth/passwords/reset.blade.php b/src/backend/resources/views/admin/auth/login.blade.php similarity index 81% rename from src/backend/resources/views/auth/passwords/reset.blade.php rename to src/backend/resources/views/admin/auth/login.blade.php index 37480c48f0aab1d4d2f8f6bd55e7031938775f7a..f39d1f5d479d29de1d2e9c2caa63ef0520f3171e 100644 --- a/src/backend/resources/views/auth/passwords/reset.blade.php +++ b/src/backend/resources/views/admin/auth/login.blade.php @@ -1,5 +1,7 @@ @extends('layouts.auth') +@section('title', 'Login') + @section('main-content')
@@ -7,11 +9,11 @@
-
+
-

{{ __('Reset Password') }}

+

{{ __('Login') }}

@if ($errors->any()) @@ -24,13 +26,11 @@
@endif -
+ - -
- +
@@ -38,15 +38,20 @@
- +
+
+
- + + Login with WWU +
+
diff --git a/src/backend/resources/views/auth/login.blade.php b/src/backend/resources/views/auth/login.blade.php deleted file mode 100644 index d96e539a86d66fdf98aee6835580626bb4012921..0000000000000000000000000000000000000000 --- a/src/backend/resources/views/auth/login.blade.php +++ /dev/null @@ -1,95 +0,0 @@ -@extends('layouts.auth') - -@section('main-content') -
-
-
-
-
-
- -
-
-
-

{{ __('Login') }}

-
- - @if ($errors->any()) - - @endif - -
- - -
- -
- -
- -
- -
-
- - -
-
- -
- -
- -
- -
- -
- -
- -
- -
- -
-
- -
- - @if (Route::has('password.request')) - - @endif - - @if (Route::has('register')) - - @endif -
-
-
-
-
-
-
-
-@endsection diff --git a/src/backend/resources/views/auth/passwords/confirm.blade.php b/src/backend/resources/views/auth/passwords/confirm.blade.php deleted file mode 100644 index 6594d30d1204fd38b9c6562b59961b50ee5f7373..0000000000000000000000000000000000000000 --- a/src/backend/resources/views/auth/passwords/confirm.blade.php +++ /dev/null @@ -1,65 +0,0 @@ -@extends('layouts.auth') - -@section('main-content') -
-
-
-
-
-
-
-
-
-
-

{{ __('Confirm Password') }}

-

{{ __('Please confirm your password before continuing.') }}

-
- - @if ($errors->any()) - - @endif - - @if (session('status')) - - @endif - -
- - -
- -
- -
- -
-
- -
- - @if (Route::has('password.request')) - - @endif -
-
-
-
-
-
-
-
-@endsection diff --git a/src/backend/resources/views/auth/passwords/email.blade.php b/src/backend/resources/views/auth/passwords/email.blade.php deleted file mode 100644 index f2826910de16c096c9594dd70f686aeb0ff45e71..0000000000000000000000000000000000000000 --- a/src/backend/resources/views/auth/passwords/email.blade.php +++ /dev/null @@ -1,54 +0,0 @@ -@extends('layouts.auth') - -@section('main-content') -
-
-
-
-
-
-
-
-
-
-

{{ __('Reset Password') }}

-
- - @if ($errors->any()) - - @endif - - @if (session('status')) - - @endif - -
- - -
- -
- -
- -
-
-
-
-
-
-
-
-
-
-@endsection diff --git a/src/backend/resources/views/auth/register.blade.php b/src/backend/resources/views/auth/register.blade.php deleted file mode 100644 index 6aa481133e5d7b385c7d458c9e68d1576256c65a..0000000000000000000000000000000000000000 --- a/src/backend/resources/views/auth/register.blade.php +++ /dev/null @@ -1,72 +0,0 @@ -@extends('layouts.auth') - -@section('main-content') -
-
-
-
-
-
- -
-
-
-

{{ __('Register') }}

-
- - @if ($errors->any()) - - @endif - -
- - -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
-
- -
- - -
-
-
-
-
-
-
-
-@endsection diff --git a/src/backend/resources/views/auth/verify.blade.php b/src/backend/resources/views/auth/verify.blade.php deleted file mode 100644 index 4cff0309174f7ceca7e8be4c20b15e978fab7d8c..0000000000000000000000000000000000000000 --- a/src/backend/resources/views/auth/verify.blade.php +++ /dev/null @@ -1,33 +0,0 @@ -@extends('layouts.auth') - -@section('main-content') -
-
-
-
-
-
-
-
-
-
-

{{ __('Verify Your Email Address') }}

-
- - @if (session('resent')) - - @endif - - {{ __('Before proceeding, please check your email for a verification link.') }} - {{ __('If you did not receive the email') }}, {{ __('click here to request another') }}. -
-
-
-
-
-
-
-
-@endsection diff --git a/src/backend/resources/views/layouts/auth.blade.php b/src/backend/resources/views/layouts/auth.blade.php index 8e1d7cdee7225fe5caa750bf2f1d8aa2232e3bf8..302cda9e9a5c53d420e7b92a0faa7c90655981d7 100644 --- a/src/backend/resources/views/layouts/auth.blade.php +++ b/src/backend/resources/views/layouts/auth.blade.php @@ -8,7 +8,7 @@ - {{ config('app.name', 'Laravel') }} + Admin E-Lock - @yield('title') diff --git a/src/backend/routes/frontend.php b/src/backend/routes/frontend.php index 653e84e173b02ead7aa6a1c2cfaa0320f9412ae9..2c735889fe463e20f4a3bdf30f1cac40ea9264d1 100644 --- a/src/backend/routes/frontend.php +++ b/src/backend/routes/frontend.php @@ -2,6 +2,7 @@ use Illuminate\Support\Facades\Route; use App\Http\Controllers\Web\MeController; +use App\Http\Controllers\Web\Admin\LoginController; /* |-------------------------------------------------------------------------- @@ -10,15 +11,31 @@ use App\Http\Controllers\Web\MeController; | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which -| contains the "web" middleware group. Now create something great! +| contains the "web" middleware group. Prefix all route names in here +| with 'web' so that the api doc generator does not try to document +| them as API routes. | */ -Route::view('/', 'home')->name('web.index'); -Route::view('/door-code', 'doorcode')->name('web.doorcode'); -Route::post('/door-code', [MeController::class, 'doorcodeUpdate'])->name('web.doorcode.change'); -Route::view('/password', 'password')->name('web.password'); -Route::post('/password', [MeController::class, 'passwordUpdate'])->name('web.password.change'); -Route::get('/access', [MeController::class, 'access'])->name('web.access'); -Route::get('/tokens', [MeController::class, 'tokens'])->name('web.tokens'); -Route::view('/about', 'about')->name('web.about'); +Route::view('/admin/login', 'admin.auth.login')->name('web.admin.login_page')->middleware('guest:api'); +Route::post('/admin/login', [LoginController::class, 'login'])->name('web.admin.login'); + +Route::group([ + 'middleware' => ['auth:api'], +], static function () { + Route::view('/', 'home')->name('web.index'); + Route::view('/door-code', 'doorcode')->name('web.doorcode'); + Route::post('/door-code', [MeController::class, 'doorcodeUpdate'])->name('web.doorcode.change'); + Route::view('/password', 'password')->name('web.password'); + Route::post('/password', [MeController::class, 'passwordUpdate'])->name('web.password.change'); + Route::get('/access', [MeController::class, 'access'])->name('web.access'); + Route::get('/tokens', [MeController::class, 'tokens'])->name('web.tokens'); + Route::view('/about', 'about')->name('web.about'); + + Route::group([ + 'prefix' => 'admin', + ], static function () { + + }); +}); +