File manager - Edit - /var/www/html/portalHomolog/app/Http/Controllers/Accounts/AuthenticationController.php
Back
<?php namespace App\Http\Controllers\Accounts; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Http\Requests\Accounts\AuthenticationRequest; use App\Http\Requests\Accounts\ResetPasswordRequest; use App\Http\Services\Accounts\ResetPasswordService; use Illuminate\Support\Facades\Auth; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; class AuthenticationController extends Controller { public function authentication(AuthenticationRequest $request): RedirectResponse { $request->validated(); if (!$this->recaptcha($request->recaptcha)) { return redirect(route("admin.login")) ->with("error", __("* Recaptcha inválido!")); } $login = $request->login; $loginField = filter_var($login, FILTER_VALIDATE_EMAIL) ? 'email' : (preg_match('/^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$/', $login) ? 'cpf' : 'matriculation'); if ($loginField === 'cpf') { $login = preg_replace('/[^0-9]/', '', $login); } $credenciais = [ $loginField => $login, 'password' => $request->password ]; $remember = ($request->remember === "on") ? 1 : 0; if (Auth::attempt($credenciais, $remember)) { $user = Auth::user(); if ($user->status !== "ATIVADO") { Auth::logout(); return redirect() ->route("admin.login") ->with("error", __("* O usuário não está ativo! Por favor, entre em contato com o administrador.")) ->withInput(); } $request->session()->regenerate(); // Aceita apenas caminhos internos relativos para prevenir open redirect $redirect = $request->input('redirect'); if ($redirect && (!str_starts_with($redirect, '/') || str_starts_with($redirect, '//'))) { $redirect = null; } if ($user->isPasswordDefault) { return redirect(route("admin.resetPassword")); } elseif ($redirect) { return redirect()->intended($redirect); } else { return redirect()->intended(route("admin.contaAngra.index")); } } return redirect(route("admin.login")) ->with("error", __("* Usuário ou senha inválidos!")) ->withInput(); } public function login(Request $request): View|RedirectResponse { // dd(\Illuminate\Support\Facades\Hash::make("mudar123")); // dd(bcrypt("mudar123")); if (isset(Auth::user()->id)) { if (Auth::user()->isPasswordDefault) { return redirect(route("admin.resetPassword")); } else { $redirect = $request->input('redirect'); if ($redirect && (!str_starts_with($redirect, '/') || str_starts_with($redirect, '//'))) { $redirect = null; } return $redirect ? redirect()->intended($redirect) : redirect()->intended(route("admin.contaAngra.index")); } } else { $redirect = $request->input('redirect'); if ($redirect && (!str_starts_with($redirect, '/') || str_starts_with($redirect, '//'))) { $redirect = null; } return view('admin.login', compact('redirect')); } } public function logout(Request $request): RedirectResponse { auth()->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect(route("paginas.home")); } public function resetPassword(Request $request): View|RedirectResponse { $user = Auth::user(); if (!$user) { return redirect() ->route("admin.login") ->with('error', 'Usuário não autenticado.'); } if (!$user->isPasswordDefault) { return redirect() ->intended(route("admin.dashboard")); } return view('admin.resetPassword'); } public function resetPasswordUpdate(ResetPasswordRequest $request): RedirectResponse { $request->validated(); $user = Auth::user(); $ResetPasswordService = new ResetPasswordService(); return $ResetPasswordService->resetPassword($request, $user); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings