| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use Illuminate\View\View;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Hash;
- use App\Models\User;
- class AuthenticatedController extends Controller
- {
- public function showPageLogin()
- {
- return view('auth.login');
- }
- public function showPageRegister()
- {
- return view('auth.register');
- }
- public function showPageAdmin()
- {
- return view('admin.index');
- }
- public function register(Request $request)
- {
- $validated = $request->validate([
- 'login' => ['required', 'min:6', 'unique:users,login'],
- 'full_name' => ['required', 'alpha', ''],
- 'phone' => ['required', 'min:16', 'max:16'],
- 'email' => ['required', 'email'],
- 'password' => ['required', 'min:8'],
- ]);
- User::create([
- 'login' => $validated['login'],
- 'full_name' => $validated['full_name'],
- 'phone' => $validated['phone'],
- 'email' => $validated['email'],
- 'password' => Hash::make($validated['password']),
- ]);
- return redirect()->route('auth.profile')->with('success', 'Вы зарегистрированлись в роли пользователя');
- }
- public function login(Request $request)
- {
- $validated = $request->validate([
- 'login' => ['required', 'min:6', 'unique:users,login'],
- 'full_name' => ['required', 'alpha', ''],
- 'phone' => ['required', 'min:16', 'max:16'],
- 'email' => ['required', 'email'],
- 'password' => ['required', 'min:8'],
- ]);
- if ($request->login === 'Admin' && $request->password === 'KorokNET') {
- Auth::logout();
- $request->session()->put('is_admin', true);
- $request->session()->regenerate();
- return redirect()->route('admin.index')->with('success', 'Вы вошли в роли администратора');
- }
- $request->session()->forget('is_admin');
- if (Auth::attempt([
- 'login' => $validated['login'],
- 'full_name' => $validated['full_name'],
- 'phone' => $validated['phone'],
- 'email' => $validated['email'],
- 'password' => Hash::make($validated['password']),
- ])) {
- $request->session()->regenerate();
- return redirect()->route('auth.profile')->with('success', 'Вы вошли в роли администратора');
- }
- }
- public function logout(Request $request)
- {
- $request->session()->forget('is_admin');
- if (Auth::check()) {
- Auth::logout();
- }
- $request->session()->invalidate();
- $request->session()->regenerateToken();
- return redirect()->route('auth.login')->with('success', 'Вы вошли в роли пользователя');
- }
- }
|