feat: complete admin login

This commit is contained in:
2026-08-18 19:50:32 +03:30
parent 0ecdf52c29
commit f3b57246f0
3 changed files with 109 additions and 2 deletions
@@ -0,0 +1,48 @@
<?php
namespace App\Http\Controllers\Admin\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admins\AdminPostRequest;
use App\Models\Admin;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class LoginController extends Controller
{
public function index()
{
$withoutHeader = true;
$withoutFooter = true;
return view('admin.auth.login' , compact('withoutFooter' , 'withoutHeader'));
}
public function login(AdminPostRequest $request)
{
$admin = Admin::query()
->where('email' , $request->input('email'))
->first();
if (!$admin) {
return back()->withErrors([
'general' => 'اطلاعات وارد شده نامعتبر است'
]);
}
Auth::guard('admin')->login($admin);
return redirect()->route('admin.dashboard');
}
public function logout(Request $request)
{
Auth::guard('admin')->logout();
return redirect()->route('admin.login');
}
}
@@ -1,11 +1,10 @@
<?php <?php
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginPostRequest; use App\Http\Requests\Auth\LoginPostRequest;
use App\Models\User; use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
class LoginController extends Controller class LoginController extends Controller
@@ -0,0 +1,60 @@
@extends('layouts.app')
@section('content')
<div class="container">
<h2 class="breadcrumb-title">ورود ادمین</h2>
<ul class="breadcrumb-menu">
<li><a href="{{ route('index') }}">صفحه اصلی</a></li>
<li class="active">ورود ادمین</li>
</ul>
</div>
<div class="login-area py-120">
<div class="container">
<div class="col-md-5 mx-auto">
<div class="login-form">
<div class="login-header">
<a href="{{route('index')}}">
<img src="{{asset('assets/img/logo/logo-dark.png')}}" alt>
</a>
<p>ورود به پنل مدیریت</p>
</div>
<form action="{{route('admin.login.post')}}" method="post">
@csrf
@error('email')
<span style="color: red">{{ $message }}</span>
@enderror
<div class="form-group">
<label for="email">آدرس ایمیل</label>
<div class="form-group-icon">
<input type="email" name="email" id="email" class="form-control" placeholder="ایمیل خود را وارد کنید" value="{{old('email')}}">
<i class="far fa-envelope"></i>
</div>
</div>
<div class="form-group">
<label for="password">رمز عبور</label>
<div class="form-group-icon">
<input type="password" class="form-control" name="password" id="password" placeholder="رمز عبور را وارد کنید">
<i class="far fa-lock"></i>
</div>
</div>
<div class="d-flex justify-content-between mb-3">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="remember" value="1" id="remember">
<label class="form-check-label" for="remember">
مرا به یاد داشته باش
</label>
</div>
</div>
<div class="d-flex align-items-center">
<button type="submit" class="theme-btn"><i class="far fa-sign-in"></i> ورود</button>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection