如何解决添加登录中间件后,Laravel 8 验证消息未显示
我的登录页面的验证消息工作正常,但是当我添加中间件以在访问登录页面时重定向到上一页时,如果用户已经登录。然后验证消息没有显示在我的登录页面中。
我的中间件 - SampleAuth
public function handle(Request $request,Closure $next)
{
$path = $request->path();
if($request->path()=="login" && $request->session()->has('name') )
{
return redirect('/');
}
return $next($request);
}
}
内核
protected $middleware = [
// \App\Http\Middleware\TrustHosts::class,\App\Http\Middleware\TrustProxies::class,\Fruitcake\Cors\HandleCors::class,\App\Http\Middleware\PreventRequestsDuringMaintenance::class,\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,//Adding Session for middleware
\Illuminate\Session\Middleware\StartSession::class,\App\Http\Middleware\Trimstrings::class,\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,//Sample Authentication Middleware
\App\Http\Middleware\SampleAuth::class,];
<form action="/login/lp" method="POST">
@csrf
<div class="form-group">
<label for="username">Email</label>
<input type="text" class="form-control" id="username" name="username" value="{{ old('username') }}" aria-describedby="TextHelp" placeholder="Enter Email">
<small id="TextHelp" class="form-text text-muted">Enter Your Email</small>
<div>
@foreach($errors->get('username') as $err)
<small class="text-danger">{{$err}}</small>
@endforeach
</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password" placeholder="Password">
<div>
@foreach($errors->get('password') as $err)
<small class="text-danger">{{$err}}</small>
@endforeach
</div>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
控制器
public function postLogin($type,Request $request) {
//Login Input Validation
$validateData = $request->validate([
'username' =>'required|max:45','password' =>'required|max:120'
]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。