Skip to content

Commit 7c77604

Browse files
committed
Add feature Remember Me
1 parent 68dfbd3 commit 7c77604

File tree

5 files changed

+66
-6
lines changed

5 files changed

+66
-6
lines changed

app/Listeners/AddSessionOnLogin.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace App\Listeners;
4+
5+
use App\Models\Pengelola;
6+
use Illuminate\Auth\Events\Login;
7+
use Illuminate\Support\Facades\Session;
8+
9+
class AddSessionOnLogin
10+
{
11+
/**
12+
* Create the event listener.
13+
*/
14+
public function __construct()
15+
{
16+
//
17+
}
18+
19+
/**
20+
* Handle the event.
21+
*/
22+
public function handle(Login $event): void
23+
{
24+
$user = $event->user;
25+
26+
$roles = Pengelola::cache()->get('all')
27+
->where('user_id', $user->id)
28+
->whereNull('inactive')
29+
->pluck('role')
30+
->toArray();
31+
$year = $event->remember ? request()->cookie('simpede_year') : request()->input('year');
32+
Session::put('role', $roles);
33+
Session::put('year', $year);
34+
}
35+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace App\Listeners;
4+
5+
use Illuminate\Auth\Events\Logout;
6+
use Illuminate\Support\Facades\Cookie;
7+
8+
class DestroyCookieOnLogout
9+
{
10+
/**
11+
* Create the event listener.
12+
*/
13+
public function __construct()
14+
{
15+
//
16+
}
17+
18+
/**
19+
* Handle the event.
20+
*/
21+
public function handle(Logout $event): void
22+
{
23+
Cookie::queue(Cookie::forget('simpede_year'));
24+
}
25+
}

app/Providers/NovaServiceProvider.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
use App\Nova\User;
5555
use App\Nova\UserEksternal;
5656
use Illuminate\Http\Request;
57+
use Illuminate\Support\Facades\Cookie;
5758
use Illuminate\Support\Facades\Gate;
5859
use Illuminate\Support\Facades\Hash;
5960
use Laravel\Fortify\Features;
@@ -210,10 +211,9 @@ public function boot()
210211

211212
if ($user &&
212213
Hash::check($request->password, $user->password)) {
213-
$roles = Pengelola::cache()->get('all')->where('user_id', $user->id)->whereNull('inactive')->pluck('role')->toArray();
214-
session(['role' => $roles]);
215-
session(['year' => $request->year]);
216-
214+
if ($request->remember) {
215+
Cookie::queue('simpede_year', $request->year, 576000); // Cookie berlaku selama 400 hari
216+
}
217217
return $user;
218218
}
219219
});

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,5 +88,5 @@
8888
},
8989
"minimum-stability": "dev",
9090
"prefer-stable": true,
91-
"version": "2.4.5"
91+
"version": "2.5.0"
9292
}

config/image.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,5 @@
4242
'decodeAnimation' => true,
4343
'blendingColor' => 'ffffff',
4444
'strip' => false,
45-
]
45+
],
4646
];

0 commit comments

Comments
 (0)