feat: implement login logic and make login page dynamic

This commit is contained in:
2026-08-16 11:29:16 +03:30
parent 31cef139b4
commit a394aa79e0
3 changed files with 50 additions and 11 deletions
+21 -1
View File
@@ -3,7 +3,11 @@
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginPostRequest;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class LoginController extends Controller
{
@@ -15,8 +19,24 @@ class LoginController extends Controller
return view('auth.login' , compact('title' , 'withOutHeader' , 'withOutFooter'));
}
public function post()
public function post(LoginPostRequest $request)
{
$user = User::where('email' , '=' , $request->input('email'))
->first();
if (!$user) {
return back()->withErrors([
'general' => 'اطلاعات کاربری یافت نشد.'
]);
}
if (!Hash::check($request->input('password'), $user->password)){
return back()->withErrors([
'general' => 'اطلاعات کاربری اشتباه است.'
]);
}
Auth::login($user);
return redirect()->route('index');
}
}
+13 -2
View File
@@ -12,7 +12,7 @@ class LoginPostRequest extends FormRequest
*/
public function authorize(): bool
{
return false;
return true;
}
/**
@@ -23,7 +23,18 @@ class LoginPostRequest extends FormRequest
public function rules(): array
{
return [
//
'email' => [
'required',
'email',
'max:150',
],
'password' => [
'required',
'min:8',
'max:255',
'alpha_num',
]
];
}
}