一旦进入登录页面,它就会使用Laravel重定向到404页面



我用Laravel开发了后端函数,我的URL调用如下https://www.exapmle.com/admin因此它将检查是否已登录意味着它将转到仪表板,否则将进入登录页面https://www.exapmle.com/login它工作正常,但登录成功后关闭浏览器选项卡,然后再次转到https://www.exapmle.com/loginURL会转到404错误,如果我转到这个URLhttps://www.exapmle.com/admin它将在没有任何问题的情况下进入仪表板页面我不知道为什么会发生这种情况,请帮助解决这个问题。

登录控制器

<?php
namespace AppHttpControllersAuth;
use AppHttpControllersController;
use IlluminateFoundationAuthAuthenticatesUsers;
use IlluminateHttpRequest;
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/admin';

/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function logout(Request $request)
{
$this->guard()->logout();
$request->session()->flush();
$request->session()->regenerate();
return redirect('/login');
}
}

我找到了这个问题的解决方案

重定向IfAuthenticated.php文件

<?php
namespace AppHttpMiddleware;
use Closure;
use IlluminateSupportFacadesAuth;
class RedirectIfAuthenticated
{
/**
* Handle an incoming request.
*
* @param  IlluminateHttpRequest  $request
* @param  Closure  $next
* @param  string|null  $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
// if (Auth::guard($guard)->check()) {
//     return redirect('/home');
// }

if (Auth::guard($guard)->check()) 
{
return redirect()->route('admin');
}
return $next($request);
}
}

不确定,因为没有足够的细节,也许你的web.php中有问题。也许你没有在管理路由上应用类似的身份验证

最新更新