无法登录我的管理员帐户[Laravel]

时间:2020-09-12 07:50:07

标签: php laravel laravel-authentication

我无法登录我的管理员帐户。我不知道为什么吗?因为它没有显示任何错误,所以我无法弄清楚发生了什么。如何解决此错误?我正在尝试创建多重身份验证。因此,我为我的管理员帐户创建了另一个身份验证。当我尝试提交详细信息(例如电子邮件和密码)时,我单击了提交按钮。它将再次刷新登录页面,并将电子邮件地址放入电子邮件表单中,并输入空白密码。它没有显示任何错误。

这是我单击“提交”按钮后的外观。

  // login route
    Route::get('/login',[AdminLoginController::class, 'showLoginForm'])->name('admin.login');
    Route::post('/login',[AdminLoginController::class, 'login'])->name('admin.login.submit');  
<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AdminLoginController extends Controller
{
    public function __construct()
    {
        $this->middleware('guest:admin')->except('logout');
    }

    public function showLoginForm()
    {
        return view('auth.admin-login');
    }

    public function login(Request $request)
    {
        // Validate form data
        $this->validate($request,
            [
                'email' => 'required|string|email',
                'password' => 'required|string|min:8'
            ]
        );

        // Attempt to login as admin
        if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
            // If successful then redirect to intended route or admin dashboard
            return redirect()->intended(route('admin.dashboard'));
        }

        // If unsuccessful then redirect back to login page with email and remember fields
        return redirect()->back()->withInput($request->only('email', 'remember'));
    }

    public function logout(Request $request)
    {
        Auth::guard('admin')->logout();
        return redirect('/');
    }
}


  [1]: https://i.stack.imgur.com/ftyhl.png

1 个答案:

答案 0 :(得分:0)

您的代码在这里

// If unsuccessful then redirect back to login page with email and remember fields
        return redirect()->back()->withInput($request->only('email', 'remember'));

表示它正在返回电子邮件并记住输入。如果您要输入错误,则需要进行设置 喜欢(您可以根据自己的喜好自定义消息

        return redirect()->back()->with(['Input' => $request->only('email', 'remember'), 'error' => 'Your Email and Password do not match our records!']);

,然后在admin-login.blade文件中设置将会话刷新到用户的位置。