首页 文章

Laravel 5.6登录后重定向到登录页面

提问于
浏览
0

解决了

解决方案问题是使用数据库表的主键我只将主键的名称传递给模型中的属性$ primarykey

我为我的laravel应用程序开发了一个登录系统,其中一个表与用户表不同,登录工作正常,但是如果我使用重定向和中间件auth来保护我的路由,我有一个问题要在路由上输入,因为在登录后应用程序重定向到受保护的路由,并在受保护的路由中输入应用程序返回登录,但用户凭据是正确的 .

My Model Users

<?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',
    ];
}

Login method

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');
        }
    }

Routes with middleware and login

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');

这个问题的解决方案是什么?

感谢帮助

1 回答

  • 0

    你的“登录”中间件是什么?是不应该是“Auth”中间件?我认为原因是你的中间件 . 因为你跳转到保护路线意味着你的“尝试”功能已经成功 .

相关问题