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