laravel - Laravel-重定向甚至经过身份验证的用户登录
问题描述
在减去此问题或报告重复问题之前,请完整阅读。
我使用默认的 Laravel 身份验证。但由于某种原因,它以某种方式崩溃了。当我尝试登录或注册时,如果身份验证成功,它会重定向尝试将我重定向到正确的链接,但同时将我返回到 /login。
转储示例
尝试身份验证后的调试栏
源文件
1. 我的路线:
Auth::routes();
Route::get('/confirm', function () {
return view('confirm');
})->name('confirm');
Route::post('/confirm', 'EmployeeController@store')->name('addworker');
Route::get('users/{id}', 'EmployeeController@show')->where('id', '[0-9]+')->name('account');
Route::get('/home', 'HomeController@index')->name('home');
2.登录和注册控制器的变化:
protected function redirectTo()
{
return route('account',['id'=> auth()->user()->id]);
}
3.EmployeeController中的方法,在auth中的那个动作:
public function __construct()
{
$this->middleware('auth');
$this->middleware('confirmated');
}
public function show($id)
{
return view('account');
}
4.我的中间件:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
use App\Employee;
class CheckConfirm
{
public function handle($request, Closure $next)
{
if (Auth::check()) {
$id = Auth::id();
$empl = Employee::where('user_id', '=', $id)->first();
Debugbar::info($empl);
if ($empl == null) {
return redirect()->route('confirm');
} else {
dump($empl);
return $next($request);
}
} else {
return redirect()->route('login');
}
}
}
什么对我没有帮助
- 清除缓存和浏览器历史记录,包括工匠命令:
cache:clear
和config:clean
- 在控制器构造函数中禁用我的中间件或身份验证中间件
- 禁用构造函数中的所有中间件导致此
- 有问题的解决方案重复,或在其他论坛中
如果问题中没有足够的信息,可以在 GitHub 上下载我的整个项目:https ://github.com/Vladislav2018/last.chance/
解决方案
推荐阅读
- swift - 用十六进制,八进制和二进制写整数有什么意义?
- microservices - Spring Cloud Netflix & Spring Cloud Data Flow 微服务架构
- c++ - ZeroMq:打开的文件太多.. fd 使用量在同一对象上持续增长
- python-2.7 - Matplotlib 在使用 plt.savefig() 时失去绘图功能
- java - 登录功能中出现意外的令牌错误
- java - 从日期格式中排除毫秒(jackson + java 8 日期)
- c++ - wxImageList::Add() 总是返回 0
- azure - 如何使用 Cosmos DB 触发器从 Azure Function 中的 Azure Cosmos DB 中断中恢复
- javascript - React.js如何将索引作为道具从this.props数组传递给子组件
- java - 如何创建 CMIS 服务器