首先是初学者,所以这一切对我来说都是新鲜事,而且我想出了一些想法可以提供一些帮助。
我有来自旧网站的数据库已经拥有它的用户表,所以我使用旧数据库并将其与laravel集成。我为所需的用户表创建了所需的额外字段并运行:
php artisan make:auth
之后注册效果很好。用户已创建,如果我不注销,Auth :: check会识别用户。
但是如果我退出并重新登录我刚创建的用户,Auth :: check就不会再识别用户了。
我在config / auth.php上没有触及任何内容,并且没有对/User.php模型进行任何更改以将其链接到旧数据库。
我注意到的另一个奇怪的事情是工匠制造:auth似乎没有创建到routes.php的任何路线,这是正常的吗?在这种情况下,它在哪里得到根源?
可能是什么问题?任何帮助将不胜感激!
答案 0 :(得分:2)
确保您为auth :: check访问的路由位于web
中间件内。
您的注册/登录/重置密码路由在Route::Auth();
您的论坛应如下所示:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/home', 'HomeController@index');
Route::get('/', function () {
return view('welcome');
});
});
如果Route :: auth()没有为您修复,请手动添加
// Authentication Routes...
$this->get('login', 'Auth\AuthController@showLoginForm');
$this->post('login', 'Auth\AuthController@login');
$this->get('logout', 'Auth\AuthController@logout');
// Registration Routes...
$this->get('register', 'Auth\AuthController@showRegistrationForm');
$this->post('register', 'Auth\AuthController@register');
// Password Reset Routes...
$this->get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
$this->post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
$this->post('password/reset', 'Auth\PasswordController@reset');