当前位置: 首页 > 知识库问答 >
问题:

Laravel身份验证重定向失败

暨承平
2023-03-14

遵循这个指南:https://www.youtube.com/watch?v=bqkt6eSsRZs

添加了从laravel docs的auth路由

mkdir auth
chmod -R 777 auth

创建登录/注册视图

创建 /home路线

自定义AuthController:

protected $redirectTo = 'home';
protected $redirectPath = 'home';
protected $loginPath = '/auth/login';

尝试访问身份验证/登录时,我遇到以下错误:

请求中出现错误异常。php第775行:。。未根据请求设置会话存储。

已将身份验证路由移动到中间件组。

成功注册,在数据库和会话文件中创建用户

更改回家路线以检查用户是否登录:

if(Auth::guest()) {
    return Redirect::to('auth/login');
} else {
    echo "welcome home";
}

转到auth/logout,然后返回主路径,没有重定向到登录页面,而是现在重定向到站点的根目录。每当我转到auth/login时,它也会将我重定向到根目录路径,因此我转到了匿名模式并转到auth/login页面,它成功呈现并将我登录(在storage/framework/sessions中创建了一个会话文件)但随后又将我重定向到根路径。

根据前面的回答,我将以下内容添加到我的身份验证控制器:

public function authenticated( $request,  $user ) {
    return redirect()->intended($this->redirectPath().'?success');
}

在正常模式(Chrome)下转到主路由,但在匿名模式下重定向到身份验证/登录页面,并创建会话文件,但在成功登录后仍重定向到根路径时,问题仍然存在。然后我注释掉了auth控制器中的authenticated()方法,但问题仍然存在。。。

上一个问题:Laravel认证重定向错误

共有1个答案

薛滨海
2023-03-14

如果您使用Laravel 5.2版本,那么您将需要使用Web中间件,在我的情况下,我有这个

Route::group(['middleware' => 'web'], function () {
   Route::auth();
   Route::get('/home', 'HomeController@index');
});

至于版本Laravel版本5和5.1,你需要有以下路线:

Route::controllers([
'auth' => 'Auth\AuthController'
]);
 类似资料:
  • 我正在laravel中创建一个多身份验证系统,其中有两种类型的用户:管理员(由我创建)和用户(使用本地laravel身份验证系统)。 如果我以用户身份登录,当我尝试访问登录页面时,当我已经登录,它会将我重定向回仪表板,但如果我以管理员身份登录,当我再次访问管理员登录页面时,它会让我再次登录,尽管已经作为管理员登录。 以下是我的重定向身份验证类代码: 有人能解释一下发生了什么事吗?

  • 我的管理员控制器扩展了控制器类,在那里我使用方法加载视图页面并传递保护。config/auth.php也通过添加管理员保护和提供程序进行了修改。在app/Actions/Fortify文件夹中,我添加了AttemptToAuthenticate和ReDirectIfTwoFactorAuthenticate类,并更改了命名空间。我的管理员控制器还扩展了Guard。用户的重定向中间件和管理员的重定向

  • 我正在创建一个laravel应用程序与自定义多重身份验证。我正在跟随这篇文章进行多重身份验证。https://pusher.com/tutorials/multiple-authentication-guards-laravel 我已经创建了登录和注册控制器定义的警卫和提供者,一切正常,我能够注册用户并登录他们。我写了一页(http://127.0.0.1:8000/admin)只有当管理员登录时

  • 我想重定向用户回到他们在Laravel 5成功登录后登录页面之前查看的页面。目前,如果用户写了一个错误的用户名/密码,他会被重定向到登录页面,显示错误,我想保持这种方式。另外,我希望当用户点击页面上的登录按钮时,以及当用户被自动重定向到登录页面时,此功能能够正常工作。 在我看来 是这里的关键,但我不知道如何让它“重定向到不是登录页的最后一页”。感谢您的帮助。

  • 我正在验证我的用户,并将其重定向到仪表板(如果凭据正确)。我想保护仪表板路由并添加中间件auth,但现在它总是重定向到登录页面。 路线。php HomeController.php 中间件Authenticate.php 中间件重定向已验证。php

  • 我正在尝试测试我的web api,它使用标准的Spring Securityapi进行保护。我通过实现UserDetailService实现了自己的用户身份验证服务。然而,每当我登录到我的应用程序时,/login api总是返回302重定向。我通过手动测试好的凭据和坏的凭据来验证我的登录页面是否正常工作,并且根据凭据是否良好,它确实正确地对主页进行了身份验证,但是它仍然返回了302 for/log