You've already forked lubo_comment_query
							
							用户支持登录登出
This commit is contained in:
		
							
								
								
									
										67
									
								
								app/Http/Controllers/UserController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								app/Http/Controllers/UserController.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use App\Models\User; | ||||
| use Illuminate\Http\Request; | ||||
| use Illuminate\Routing\Controller as BaseController; | ||||
| use Illuminate\Support\Facades\Auth; | ||||
| use Illuminate\Support\Facades\Hash; | ||||
| 
 | ||||
| class UserController extends BaseController | ||||
| { | ||||
|     public function login_page(Request $request) | ||||
|     { | ||||
|         return view("user.login"); | ||||
|     } | ||||
| 
 | ||||
|     public function authenticate(Request $request): \Illuminate\Http\RedirectResponse | ||||
|     { | ||||
|         $request->validate([ | ||||
|             "username" => ["required"], | ||||
|             "password" => ["required"], | ||||
|         ]); | ||||
|         $credentials = [ | ||||
|             "password" => $request->post("password"), | ||||
|         ]; | ||||
|         if (str_contains($request->post("username"), "@")) { | ||||
|             $credentials["email"] = $request->post("username"); | ||||
|         } else { | ||||
|             $credentials["name"] = $request->post("username"); | ||||
|         } | ||||
|         if (Auth::attempt($credentials, $request->post("remember", 0) == 1)) { | ||||
|             $request->session()->regenerate(); | ||||
|             return redirect()->intended(); | ||||
|         } | ||||
|         return back()->withErrors([ | ||||
|             "username" => "无此用户", | ||||
|         ]); | ||||
|     } | ||||
| 
 | ||||
|     public function logout(Request $request) | ||||
|     { | ||||
|         Auth::logout(); | ||||
|         $request->session()->invalidate(); | ||||
|         $request->session()->regenerateToken(); | ||||
|         return redirect("/"); | ||||
|     } | ||||
| 
 | ||||
|     public function register_page(Request $request) | ||||
|     { | ||||
|         return view("user.register"); | ||||
|     } | ||||
| 
 | ||||
|     public function register(Request $request) | ||||
|     { | ||||
|         $request_payload = $request->validate([ | ||||
|             "name" => ["required", "unique:users"], | ||||
|             "email" => ["required", "email", "unique:users"], | ||||
|             "password" => ["required"], | ||||
|         ]); | ||||
|         $user = new User(); | ||||
|         $request_payload["password"] = Hash::make($request_payload["password"]); | ||||
|         $user->fill($request_payload); | ||||
|         $user->save(); | ||||
|         return redirect(route("login")); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user