我是 laravel 的新手,我正在研究 Laravel 身份验证系统,虽然注册有效,但登录没有做任何事情。
用户控制器.php
class UserController extends Controller
{
public function postSignUp(Request $request)
{
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$user = new User;
$user->email = $request->email;
$user->first_name = $request->first_name;
$user->password = bcrypt($request->password);
$user->save();
Auth::login($user);
return redirect()->route('hotelier.index')->with('alert-success','Data has been saved successfully');
}
public function postSignIn(Request $request)
{
if(Auth::attempt(['email' => $request['email'], 'password' => $request['password']])){
return redirect()->route('hotelier.index');
}
return redirect()->back();
}
}
路线(web.php)
Route::group(['middleware' => ['web']], function (){
Route::get('/', function () {
return view('welcome');
});
Route::resource('hotelier','HotelierController');
Route::post('/signup', [
'uses'=> 'UserController@postSignUp',
'as' =>'signup'
]);
Route::post('/signin', [
'uses'=> 'UserController@postSignIn',
'as' =>'signin'
]);
} );
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
请告诉我如何登录
谢谢
原文由 zach 发布,翻译遵循 CC BY-SA 4.0 许可协议
你应该只是你的工匠命令 php artisan make:auth。这将创建一些东西。它将在您的 Controllers 文件夹和 view 文件夹中创建一个 auth 文件夹。假设您使用的是 laravel 5.4,它还将添加到您的 web.php 路由文件中。在您的 controller/auth 目录中,您会找到 LoginController 和 RegisterController。它应该确实拥有您需要授权的一切。您需要确保您的用户模型上有电子邮件或用户名属性。您还需要有一个密码属性。从那里您可能想要根据您的应用程序进行一些自定义。
这是一个示例登录控制器:
注册控制器:
路线/web.php :
为什么不是用户模型: