From 080577d0024a1c847eac4c12d1787c5598c29039 Mon Sep 17 00:00:00 2001 From: Aldarien Date: Thu, 16 Apr 2020 13:46:06 -0400 Subject: [PATCH] Authentificacion --- common/Controller/Web/Admin/Login.php | 8 ++++++- common/Middleware/Auth.php | 2 +- common/Service/Login.php | 11 +++++++++ public/assets/styles/home.css | 3 +++ resources/data/login.yml | 7 +++--- resources/routes/web/admin/login.php | 1 + resources/views/admin/documentos.blade.php | 24 +++++++++++--------- resources/views/admin/layout/menu.blade.php | 6 ++--- resources/views/layout/footer/menu.blade.php | 4 ++-- 9 files changed, 44 insertions(+), 22 deletions(-) diff --git a/common/Controller/Web/Admin/Login.php b/common/Controller/Web/Admin/Login.php index 62c0d4c..1b15142 100644 --- a/common/Controller/Web/Admin/Login.php +++ b/common/Controller/Web/Admin/Login.php @@ -18,6 +18,12 @@ class Login { $container->get('urls.base'), 'admin' ])) - ->withStatus(301); + ->withStatus(302); + } + public function logout(Request $request, Response $response, Service $login, Container $container): Response { + $login->logout(); + return $response + ->withHeader('Location', $container->get('urls.base')) + ->withStatus(302); } } diff --git a/common/Middleware/Auth.php b/common/Middleware/Auth.php index d7ee2cf..8858db0 100644 --- a/common/Middleware/Auth.php +++ b/common/Middleware/Auth.php @@ -18,7 +18,7 @@ class Auth { $response = $handler->handle($request); $is_logged_in = $this->login->checkAuth($request); - if (!$is_logged_in and $request->getRequestTarget() != $this->login_url) { + if (!$is_logged_in and $request->getRequestTarget() != $this->login_url and $request->getRequestTarget() != implode('/', [dirname($this->login_url), 'logout'])) { return $response ->withHeader('Location', $this->login_url) ->withStatus(301); diff --git a/common/Service/Login.php b/common/Service/Login.php index ff8f2a2..5336f9c 100644 --- a/common/Service/Login.php +++ b/common/Service/Login.php @@ -108,4 +108,15 @@ class Login { $this->is_logged_in = true; return true; } + public function logout(): bool { + $this->removeCookie(); + $data = [ + 'ip' => 0, + 'token' => ':', + 'time' => 0 + ]; + $this->manager->folder('data')->save($this->filename, $data); + $this->is_logged_in = false; + return true; + } } diff --git a/public/assets/styles/home.css b/public/assets/styles/home.css index b0a9ed5..f2baeb0 100644 --- a/public/assets/styles/home.css +++ b/public/assets/styles/home.css @@ -5,6 +5,9 @@ background-blend-mode: multiply; color: white; } +#banner a { + color: inherit; +} #banner .segment { padding-left: 0 !important; } diff --git a/resources/data/login.yml b/resources/data/login.yml index 4c06be7..93d24b3 100644 --- a/resources/data/login.yml +++ b/resources/data/login.yml @@ -1,4 +1,3 @@ -ip: localhost -token: > - 4b2910b375e3ae3ff415b8ad:80dbbc8862d0bf7d45155a982a6721d768596a0a -time: 2020-04-10 16:17 +ip: 0 +token: ':' +time: 0 diff --git a/resources/routes/web/admin/login.php b/resources/routes/web/admin/login.php index 7a9588b..e0ab9bd 100644 --- a/resources/routes/web/admin/login.php +++ b/resources/routes/web/admin/login.php @@ -5,3 +5,4 @@ $app->group('/login', function($app) { $app->get('[/]', Login::class); $app->post('[/]', [Login::class, 'do_login']); }); +$app->get('/logout', [Login::class, 'logout']); diff --git a/resources/views/admin/documentos.blade.php b/resources/views/admin/documentos.blade.php index 7780cd5..0cc272e 100644 --- a/resources/views/admin/documentos.blade.php +++ b/resources/views/admin/documentos.blade.php @@ -3,11 +3,24 @@
@include('admin.documento', ['descripcion' => 'Índices', 'link' => 'indices', 'mod' => 'fecha']) +
+

+ Transparencia +

+
@include('admin.documento', ['descripcion' => 'Balances Anuales', 'link' => 'balances_anuales']) @include('admin.documento', ['descripcion' => 'Interés y Patrimonio', 'link' => 'intereses_y_patrimonio']) @include('admin.documento', ['descripcion' => 'Informes Fiscalía', 'link' => 'informes_fiscalia']) @include('admin.documento', ['descripcion' => 'Valores', 'link' => 'valores'])
+
+ + +
-

- Transparencia -

-
- - -
@push('scripts')