php - 驾驶员警卫登录系统在laravel中不起作用
问题描述
我手动创建了两个警卫,名称是 admin 和 driver 。然后我创建了驱动程序和管理员的登录系统。其中司机登录系统不工作。我认为 driverAuthentication 功能不起作用。请给出这个问题的解决方案。
这是 web.php 文件
Route::namespace("Driver")->prefix('driver')->group(function(){
Route::get('/', 'HomeController@index')->name('driver.home');
Route::namespace('Auth')->group(function(){
Route::get('/login', 'LoginController@showLoginForm')->name('driver.login');
Route::post('/login', 'LoginController@driverAuthentication');
Route::post('logout', 'LoginController@logout')->name('driver.logout');
// Route::post('administrator/userAuthentication', 'LoginController@userAuthentication');
Route::post('/register/store', 'RegisterController@store');
Route::get('/register', 'RegisterController@showRegistrationForm')->name('driver.register');
});
});
这是我的驱动程序保护的 loginController.php 文件
<?php
namespace App\Http\Controllers\Driver\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
//
use AuthenticatesUsers;
protected $redirectTo = '/driver';
public function __construct()
{
$this->middleware('guest:driver')->except('logout');
}
public function showLoginForm(){
return view('driver.auth.login');
}
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect()->route('driver.login');
}
protected function guard(){
return Auth::guard('driver');
}
public function driverAuthentication(Request $request){
$this->validate($request, [
'email' => 'required|email',
'password' => 'required|min:6'
]);
$email=$request->email;
// dd($email);
$password=$request->password;
if(Auth::guard('driver')->attempt(['email' => $email, 'password' => $password])){
return redirect()->intended('/driver');
}else{
return back()->withInput($request->only('email', 'remember'));
}
die;
}
}
这是我的驱动程序保护的 login.blade.php 文件
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Driver Login</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Raleway:300,400,600" rel="stylesheet" type="text/css">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<style>
html,body{
width: 100%;
background: url("{{ asset ('image/driver-bg.jpg') }}") ;
background-position: center center;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
}
</style>
<body>
<div id="app">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8" style="padding-top:180px; padding-left:80px; padding-right:80px;">
<div class="card">
<div class="card-header" style="background-color:aqua;">{{ __('Driver Login') }}</div>
<div class="card-body" style="background-color:darkgray;">
<form method="POST" action="{{ route('driver.login') }}">
@csrf
<div class="form-group row">
<label for="email" class="col-sm-4 col-form-label text-md-right" >
{{ __('E-Mail Address') }}
</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus>
@if ($errors->has('email'))
<span class="invalid-feedback">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
<div class="col-md-6">
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-md-6 offset-md-4">
<div class="checkbox">
<label>
<input type="checkbox" name="remember" {{ old('remember') ? 'checked' : '' }}> {{ __('Remember Me') }}
</label>
</div>
</div>
</div>
<div class="form-group row mb-0">
<div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary">
{{ __('Login') }}
</button>
<button class="btn btn-primary" style="background-color:coral; border:1px solid coral;">
<a style="color: white; text-decoration:none;" href="{{ route ('driver.register')}}">Register</a>
</button>
<!-- <a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a> -->
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<main class="py-4">
@yield('content')
</main>
</div>
</body>
</html>
解决方案
推荐阅读
- java - 无法使用默认应用用户创建临时队列
- python - 设置替代的最小和最大参数
- c# - 使用 ASP.NET Core 3.1 自定义分布式缓存进行响应缓存
- docker - 当我遇到颤振分析问题时,停止在 Docker 中构建颤振
- wordpress - NSURLErrorDomain:-1017 错误仅在 safari - 带有 Elementor 的 Wordpress 网站
- firebase - 如何在firebase中使用电话号码和密码登录
- excel - 在 excel 行中计算和显示不同的值
- ios - 在我的 App 协议实现中未设置的 iOS 和 macOS 视图之间共享 @StateObject
- wordpress - WordPress 删除
来自自定义帖子类型的 WYSIWG 自定义字段的标签
- java - Android:如何将临时文件保存到磁盘?