浏览代码

微调 登录 代码

兔姬桑 3 年之前
父节点
当前提交
bcd2da1bcb

+ 4 - 7
app/Http/Controllers/AuthController.php

@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
 
 use App\Components\Helpers;
 use App\Components\IP;
+use App\Http\Requests\Auth\LoginRequest;
 use App\Http\Requests\Auth\RegisterRequest;
 use App\Models\EmailFilter;
 use App\Models\Invite;
@@ -45,13 +46,9 @@ class AuthController extends Controller
         return view('auth.login');
     }
 
-    public function login(Request $request)
+    public function login(LoginRequest $request)
     {
-        $validator = Validator::make($request->all(), ['username' => 'required', 'password' => 'required']);
-
-        if ($validator->fails()) {
-            return Redirect::back()->withInput()->withErrors($validator->errors());
-        }
+        $data = $request->validated();
 
         // 是否校验验证码
         $captcha = $this->check_captcha($request);
@@ -60,7 +57,7 @@ class AuthController extends Controller
         }
 
         // 验证账号并创建会话
-        if (! Auth::attempt($validator->validated(), $request->input('remember'))) {
+        if (! Auth::attempt($data, $request->has('remember'))) {
             return Redirect::back()->withInput()->withErrors(trans('auth.error.login_failed'));
         }
         $user = Auth::getUser();

+ 2 - 3
app/Http/Controllers/OAuth/BaseController.php → app/Http/Controllers/OAuthController.php

@@ -1,10 +1,9 @@
 <?php
 
-namespace App\Http\Controllers\OAuth;
+namespace App\Http\Controllers;
 
 use App\Components\Helpers;
 use App\Components\IP;
-use App\Http\Controllers\Controller;
 use App\Models\User;
 use App\Models\UserOauth;
 use Auth;
@@ -12,7 +11,7 @@ use Illuminate\Http\Request;
 use Laravel\Socialite\Facades\Socialite;
 use Str;
 
-class BaseController extends Controller
+class OAuthController extends Controller
 {
     public function route(Request $request, string $type)
     {

+ 16 - 0
app/Http/Requests/Auth/LoginRequest.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Http\Requests\Auth;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class LoginRequest extends FormRequest
+{
+    public function rules()
+    {
+        return [
+            'username' => 'required|'.(sysConfig('username_type') ?? 'email'),
+            'password' => 'required',
+        ];
+    }
+}

+ 7 - 7
routes/web.php

@@ -18,13 +18,13 @@ Route::middleware(['isForbidden', 'affiliate', 'isMaintenance'])->group(function
     Route::get('lang/{locale}', 'AuthController@switchLang')->name('lang'); // 语言切换
     Route::get('login', 'AuthController@showLoginForm')->middleware('isSecurity')->name('login'); // 登录页面
 
-    Route::namespace('OAuth')->prefix('oauth')->name('oauth.')->group(function () { // 用户第三方登录默认登录/转跳方式
-        Route::get('{type}/login', 'BaseController@logining')->name('login');
-        Route::get('{type}/bind', 'BaseController@binding')->name('bind');
-        Route::get('{type}/register', 'BaseController@register')->name('register');
-        Route::get('{type}/redirect', 'BaseController@simple')->name('simple');
-        Route::get('{type}/unsubscribe', 'BaseController@unsubscribe')->name('unsubscribe');
-        Route::get('{type}/route', 'BaseController@route')->name('route');
+    Route::prefix('oauth')->name('oauth.')->group(function () { // 用户第三方登录默认登录/转跳方式
+        Route::get('{type}/login', 'OAuthController@logining')->name('login');
+        Route::get('{type}/bind', 'OAuthController@binding')->name('bind');
+        Route::get('{type}/register', 'OAuthController@register')->name('register');
+        Route::get('{type}/redirect', 'OAuthController@simple')->name('simple');
+        Route::get('{type}/unsubscribe', 'OAuthController@unsubscribe')->name('unsubscribe');
+        Route::get('{type}/route', 'OAuthController@route')->name('route');
     });
 
     Route::post('login', 'AuthController@login')->middleware('isSecurity'); // 登录