Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Viber: ingyen telefonálás a mobilodon
- Magga: PLEX: multimédia az egész lakásban
- gban: Ingyen kellene, de tegnapra
- Lalikiraly: Kinek milyen setupja van?
- btz: Internet fejlesztés országosan!
- sidi: 386-os Chicony gázplazma laptop memóriabővítése
- Brogyi: CTEK akkumulátor töltő és másolatai
- Parci: Milyen mosógépet vegyek?
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
Sziasztok!
Laravelben igencsak kezdo vagyok, igy nezzetek el nekem ha marhasagot kerdezek/irok.
Projektemet Laravel 8/Jetstream/Laratrust komboval fejlesztem, es az RBAC megvalositasa kozben akadtam meg:A CreateNewUser.php-t igy modositottam:
$user = User::create([
'username' => $input['username'],
'email' => $input['email'],
'password' => Hash::make($input['password']),
]);
$user->attachRole('visitor');
return $user;
Lathato, hogy a jogot hozzaadja. Regisztracio utan a beepitett email kuldo automatizmussal egy megerosito emailt kuldok. Amikor rakattintok az emailben levo linkre, akkor a /dashboard-ra kerulok.
Aztan itt, a Profile-ban meg kell adnom tovabbi adataimat (migration-be raktam oket).
A UpdateUserProfileInformation vonatkozo sorai:
if ($input['email'] !== $user->email &&
$user instanceof MustVerifyEmail) {
$this->updateVerifiedUser($user, $input);
} else {
if ($user->first_login === false) {
$user->forceFill([
'first_login' => true,
])->save();
}
es$user->forceFill([
'firstname' => $input['firstname'],
'middlename' => $input['middlename'],
'lastname' => $input['lastname'],
'username' => $input['username'],
'email' => $input['email'],
'landlinetel' => $input['landlinetel'],
'mobiletel' => $input['mobiletel'],
'mandatory_fields_filled' => true,
])->save();
Auth::logout();
Session::flush();
redirect(route('login'));
Elmeletileg (ill. a dokumentacio alapjan is ugy tunik, hogy ezt igy illik csinalni errefele, illetve SO-n, meg egyeb forumokon is ezt talaltam: Az auth logout kijelentkeztet, utana eldobom/lezarom a session-t, hogy ne lehessen vele visszaelni, majd atiranyitok.
LoginResponse.php:
public function toResponse($request)
{
$user = auth()->user();
if ($user->mandatory_fields_filled && $user->hasRole('admin')) {
$home = '/admin';
return redirect()->intended($home);
} elseif ($user->mandatory_fields_filled && $user->hasRole('user')) {
$home = '/user';
return redirect()->intended($home);
} elseif ($user->hasRole('visitor')) {
if ($user->mandatory_fields_filled) {
$user->detachRole('visitor');
$user->attachRole('user');
}
$home = '/dashboard';
return redirect()->intended($home);
} else {
$home = '/';
return redirect()->intended($home);
}
}
Ha atirom a user_role-ban bejelentkezes elott a felhasznalohoz tartozo jogot (mondjuk visitorrol userre) akkor a bejelentkezesnel a /userre redirectel (ami 404, mivel meg nincs kesz), am ha nyomok egy visszat a bongeszoben, akkor a korabban bejelentkezett user sessionjebe dob vissza.
Van Laravelnel erre valami szep megoldas, amivel normalisan meg lehet csinalni a bejelentkezeskori hitelesitest?
Eletem elso Laravel-es tanulo projektje ez, ugyhogy kerlek ne lojetek.
Koszi!
Udv.
Új hozzászólás Aktív témák
- Battlefield 6
- AMD Navi Radeon™ RX 9xxx sorozat
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Goddess of Victory:Nikke
- AliExpress tapasztalatok
- Suzuki topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Luck Dragon: Asszociációs játék. :)
- Xiaomi Redmi Note 4 - B20
- Tanuljunk angolul!
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 5060 Ti 16GB GAMER termékbeszámítással
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3304
- Apple Mac mini 14.3 M2 8GB RAM 256GB SSD 1év garancia
- GYÖNYÖRŰ iPhone XR 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3118, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest