Laravel 登录重定向回登录页面

Posted

技术标签:

【中文标题】Laravel 登录重定向回登录页面【英文标题】:Laravel login redirects back to login page 【发布时间】:2018-07-29 19:35:11 【问题描述】:

我是 Laravel 5.5.* 的初学者,我正在尝试创建一个登录页面。 每当我点击登录按钮时,我都会被重定向回登录表单。

这是我的步骤:

    php artisan make:auth php artisan make:migration table_name_here 我修改了迁移 php artisan migrate

这是我的登录控制器

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Auth;

class LoginController extends Controller

    /*
    |--------------------------------------------------------------------------
    | Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles authenticating users for the application and
    | redirecting them to your home screen. The controller uses a trait
    | to conveniently provide its functionality to your applications.
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    
        $this->middleware('guest')->except('logout');
    


这是我的用户模型

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable

    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'firstname', 'lastname', 'email', 'password', 'department', 'phone', 'status', 'roleId',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

我的 web.php

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () 
    return view('welcome');
);


Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

我的表格列

员工编号, 角色标识, 名, 姓, 用户名, 电子邮件, 部, 电话, 状态, 记住令牌, created_at, 更新时间, 密码,

【问题讨论】:

public function showLoginForm() 不是默认 LoginController 的一部分 刚刚从LoginController 中删除了public function showLoginForm(),它没有用 你想用什么登录;用户名和密码/电子邮件和密码? 我正在使用电子邮件。 我正在使用电子邮件。 【参考方案1】:

只需重新启动 apache 服务器并再次运行 php artisan serve 命令,这可能会帮助您解决问题。

【讨论】:

【参考方案2】:

我有同样的问题,登录重定向到登录页面没有任何错误。

对我来说,我的表单输入字段中没有任何名称标签,例如 所以它不知道在请求中发送什么数据

<input type="email">
<input type="password">

应该是

<input type="email" name="email">
<input type="password" name="password">

【讨论】:

【参考方案3】:

所以当我在本地开发环境中的 session.php 中设置 SESSION_DOMAIN 'NULL' 时,我能够解决这个问题。

【讨论】:

【参考方案4】:

在从旧的生产服务器迁移到新的生产服务器到新的生产服务器时,我遇到了同样的问题,设置了 SESSION_SECURE_COOKIE=true。 HTTPS 未设置。

通过删除SESSION_SECURE_COOKIE=true,重新开始登录。

当然,在实际迁移服务器之前设置 HTTPS 并添加 env var。

【讨论】:

以上是关于Laravel 登录重定向回登录页面的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 5.3 中重定向回请求的页面

Laravel 登录后将用户重定向到原始目的地

登录laravel 5.7后重定向到上一页

在 Laravel 5 中进行身份验证后重定向

如何将客人重定向到登录页面,在laravel 5.2登录后重定向回来[关闭]

Laravel - 具有多重身份验证的未经身份验证的重定向问题