Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
37 views5 pages

Laravel Authentication Setup

The document contains code for user authentication in a Laravel application. It includes routes, models, controllers, seeders and views for the login and registration functionality.

Uploaded by

Revaldo Dzaki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views5 pages

Laravel Authentication Setup

The document contains code for user authentication in a Laravel application. It includes routes, models, controllers, seeders and views for the login and registration functionality.

Uploaded by

Revaldo Dzaki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Source Code

Route web.php

// Login
Route::get('/panel', [LoginController::class, 'index'])->name('panel')-
>middleware('guest');
Route::post('/panel', [LoginController::class, 'authentication'])-
>name('authentication');
Route::post('/logout', [LoginController::class, 'logout'])->name('logout');

Model Users.php

<?php

namespace App\Models;

// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable


{
use HasApiTokens, HasFactory, Notifiable;

/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $guarded = ['id'];

/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}

Controller LoginController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller


{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('panel.index');
}

public function authentication(Request $request)


{
$credentials = $request->validate([
'email' => 'required',
'password' => 'required',
]);

if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('/dashboard');
}

return back()->with('loginError', 'Login Failed!');


}

public function logout()


{
Auth::logout();

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

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

return redirect('/panel');
}
}

Seeders DatabaseSeeder.php

\App\Models\User::create([
'username' => 'valdo',
'email' => '[email protected]',
'password' => bcrypt('superadmin'),
'role' => 'Superadmin'
]);

View Login.blade.php

<form class="login100-form validate-form" action="{{ route('authentication') }}"


method="POST">
@csrf
<span class="login100-form-title pb-5">
Login
</span>
<div class="panel panel-primary">
@if (session('loginError'))
<div class="alert alert-danger alert-dismissible
fade show" role="alert">
{{ session ('loginError') }}
<button type="button" class="btn-close"
data-bs-dismiss="alert" aria-label="Close"></button>
</div>
@endif
<div class="tab-menu-heading">
<div class="tabs-menu1">
<!-- Tabs -->
<ul class="nav panel-tabs">
<li class="mx-0"><a href="#tab5"
class="active" data-bs-toggle="tab">Gmail</a></li>
</ul>
</div>
</div>
<div class="panel-body tabs-menu-body p-0 pt-5">
<div class="tab-content">
<div class="tab-pane active" id="tab5">
<div class="wrap-input100 validate-
input input-group" data-bs-validate="Valid email is required: [email protected]">
<a href="javascript:void(0)"
class="input-group-text bg-white text-muted">
<i class="zmdi zmdi-email
text-muted" aria-hidden="true"></i>
</a>
<input class="input100 border-
start-0 form-control ms-0" type="text" placeholder="Email" name="email">
</div>
<div class="wrap-input100 validate-
input input-group" id="Password-toggle">
<a href="javascript:void(0)"
class="input-group-text bg-white text-muted">
<i class="zmdi zmdi-eye
text-muted" aria-hidden="true"></i>
</a>
<input class="input100 border-
start-0 form-control ms-0" type="password" placeholder="Password"
name="password">
</div>
<div class="container-login100-form-
btn">
<button class="login100-form-btn
btn-primary" type="submit">Login</button>
</div>
</div>
<div class="tab-pane" id="tab6">
<div id="mobile-num" class="wrap-
input100 validate-input input-group mb-4">
<a href="javascript:void(0)"
class="input-group-text bg-white text-muted">
<span>+91</span>
</a>
<input class="input100 border-
start-0 form-control ms-0">
</div>
<div id="login-otp" class="justify-
content-around mb-5">
<input class="form-control text-
center w-15" id="txt1" maxlength="1">
<input class="form-control text-
center w-15" id="txt2" maxlength="1">
<input class="form-control text-
center w-15" id="txt3" maxlength="1">
<input class="form-control text-
center w-15" id="txt4" maxlength="1">
</div>
<span>Note : Login with registered
mobile number to generate OTP.</span>
<div class="container-login100-form-
btn ">
<a href="javascript:void(0)"
class="login100-form-btn btn-primary" id="generate-otp">
Proceed
</a>
</div>
</div>
</div>
</div>
</div>

</form>

You might also like