我在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,
],
],
很想听到新的建议,我不知道这里有什么问题。