[英]Laravel 5.6 post login redirect to login page
解決了
解決方案:問題是在數據庫表上使用的主鍵,我僅將主鍵的名稱傳遞給模型中的屬性$ primarykey
我為laravel應用程序開發了一個登錄系統,該表具有與用戶表不同的表,顯然登錄可以正常工作,但是如果我使用重定向和中間件身份驗證來保護我的路由,則在路由上輸入時會出現問題,因為在登錄后該應用程序重定向到受保護的路由,並在輸入受保護的路由時返回到登錄名,但用戶憑據正確。
我的模型用戶
<?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 $table = 'pessoas';
protected $fillable = [
'nome_completo', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
登錄方式
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
//$email = $request->input('email');
//$password = $request->input('password'));
if (Auth::attempt($credentials)) {
//return Auth::user()->nome_completo;
return redirect()->intended('/usuario/home');
}
}
使用中間件和登錄的路由
Route::group(['middleware' => ['auth']], function () {
Route::get('/usuario/home', 'Usuarios\UsuarioController@renderHome')->name('home');
Route::get('/usuario/perfil', function () {
return view('usuario.meuperfil');
})->name('perfil');
Route::get('/usuario/estoque', function () {
return view('usuario.estoque');
})->name('estoque');
Route::get('/usuario/fotos', function () {
return view('usuario.fotos');
})->name('fotos');
Route::get('/usuario/carrinho', function () {
return view('usuario.carrinho');
})->name('carrinho');
Route::get('/usuario/orcamentos', function () {
return view('usuario.orcamentos');
})->name('orcamentos');
Route::get('/usuario/enviados', function () {
return view('usuario.enviados');
})->name('enviados');
Route::get('/usuario/tickets', function () {
return view('usuario.tickets');
})->name('tickets');
Route::get('/usuario/calculadora', function () {
return view('usuario.calculadora');
})->name('calculadora');
Route::get('/usuario/tutorial', function () {
return view('usuario.tutorial');
})->name('tutorial');
});
Route::get('/login', function () {
return view('usuario.login');
})->name('login');
Route::post('/login', 'Usuarios\UsuarioController@login');
Route::get('/logout', 'Usuarios\UsuarioController@logout')->name('logout');
問題的解決辦法是什么?
感謝幫助
您的“登錄”中間件是什么? 不是應該是“ Auth”中間件嗎? 我認為原因是您的中間件。因為您跳到保護路線就意味着您的“嘗試”功能已經成功。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.