gpt4 book ai didi

php - Laravel auth()->guard() 使用vue js 返回null

转载 作者:可可西里 更新时间:2023-11-01 13:20:29 24 4
gpt4 key购买 nike

我在 vue.js 中有一个登录表单。我只需要使用 vue.js 和 laravel 登录用户。登录后,用户将重定向到已经仅使用 laravel 开发的仪表板。我正在尝试登录,但它不起作用并且 auth()->guard 返回 null 以便用户重定向到登录页面而不是仪表板。当我在那种情况下使用 postman 时,它运作良好。

Vue js

this.$http.post('http://localhost/project/admin/vendors/validate_login',{phone_number : this.phone_number},{
headers: {
"Access-Control-Allow-Origin": "*"
}
})
.then((response) =>{
if(response.data.status == 'success')
{
window.location = "http://localhost/project/admin/vendors/dashboard";
}
})

Laravel - 验证登录:

public function validate_login(Request $request)
{
$arr_rules = array();
$status = false;

$remember_me = "";
$arr_rules['phone_number'] = "required";
$validator = validator::make($request->all(),$arr_rules);
if($validator->fails())
{
return response()->json([
'status' => 'error',
'msg' => "Mobile number is empty"
]);
}
$obj_group_vendor = $this->UsersModel
->where('phone_number',$request->only('phone_number'))
->first();
if($obj_group_vendor)
{
if($this->auth->attempt(['phone_number' => $request->phone_number,
'role_id' => 3]))
{
return response()->json([
'status' => 'success',
'msg' => "You are successfully login to your account."
]);
}
else
{
return response()->json([
'status' => 'error',
'msg' => "Invalid login credential."
]);
}
}
else
{
return response()->json([
'status' => 'error',
'msg' => "Invalid login credentials."
]);
}
return;
}

路线:

$web_vendor_path = config('app.project.vendor_panel_slug');
Route::group(array('prefix' => $web_vendor_path,
'middleware'=> ['vendor_auth_check']), function ()
{
$route_slug = 'vendor_';
Route::post('validate_login', ['as' => $route_slug.'validate',
'uses' => $module_controller.'validate_login']);
});

Route::group(array('prefix' => $web_vendor_path,
'middleware'=>'auth_vendor'), function ()
use($web_vendor_path)
{
$route_slug = 'vendor_';
$module_controller = "Vendor\DashboardController@";
Route::get('/dashboard',['as' => $route_slug.'index',
'uses' => $module_controller.'index']);
});

如有任何帮助,我们将不胜感激。

最佳答案

这里只是吐出一些想法:

  • 尝试为所有 POST 请求设置 'Content-Type': 'application/x-www-form-urlencoded' header 。

  • 此外,Access-Control-Allow-Origin 是一个 header ,应该在网络服务器的响应 中。它不是您应该在 javascript 请求中发送的 header 。

关于php - Laravel auth()->guard() 使用vue js 返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55039495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com