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 登录重定向回登录页面的主要内容,如果未能解决你的问题,请参考以下文章