Laravel 5.4 Auth ::尝试工作,无法通过auth中间件

时间:2017-10-23 06:29:05

标签: php authentication laravel-5.4

我在laravel 5.4身份验证方面遇到了一些麻烦。 尽管我无法访问Auth :: user(),但auth仍然可以使用。 在为FrontEnd注意事项做了一些更改之后,我添加了一个新的登录函数,它使用了Auth :: attempt($ credentials),如下所示:     

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Input;
use App\Models;
use Auth;
use Log;

class LoginController extends Controller
{

use AuthenticatesUsers;

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

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

public function login(){
    if(Auth::guest()){
        if (Auth::attempt(['email' => Input::get('email'), 'password' => Input::get('password')])) {
            Log::debug(Auth::user());
            return redirect('/home-page');
        }
    }

    return 'cannot log in';
}

}

登录通过,重定向工作,并且可以访问Auth :: user()。

问题是重定向后,“auth”中间件保护的所有路由都无法访问。

Route::group(['middleware' => 'auth'], function(){
    Route::get('some-route', function(){
        return view('some-view');
    }
});

此外,我试图看看我是否可以访问那里的用户,但Auth :: user()返回null。

注意: 1.用户表是由Laravel用户表迁移创建的表。 2.通过RegisterController注册用户(来自php artisan make:auth) 3.只有改变auth.php是这样的:

'providers' => [
'users' => [
   'driver' => 'eloquent',
   'model' => App\Models\User::class,
],
],

很想听到新的建议,我不知道这里有什么问题。

0 个答案:

没有答案