php 获取不到user,Laravel 前台登录后别的控制器获取不到 user 信息?

只能在登录的控制器获取user信息

UserController.php:

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;

class UserController extends BaseController

{

public function register()

{

return view('home.user.register');

}

public function login(Request $request)

{

$this->validate($request, [

'username' => ['required', 'string', 'max:255'],

'password' => ['required', 'string', 'min:3'],

//'captcha' => ['required', 'captcha']

],[

'captcha.required' => '验证码不能为空',

'captcha.captcha' => '请输入正确的验证码',

]);

$credentials = $request->only('username', 'password');

if (auth('member')->attempt($credentials,true)) {

//这里可以获取到用户信息

return $this->error(auth('member')->user());

//如果返回成功,html接受消息跳转到首页就获取不到信息了

return $this->success([]);

}else{

return $this->error('失败');

}

}

}

写成跳转到首页的话,在IndexController.php 里auth('member')->user()获取不到信息,check()是false;

html:

$.ajax({

url: "/home/index/login",

data: $('form[name="login"]').serialize(),

type: "post",

dataType: "json",

success: function(ret) {

if (ret.code === 200) {

document.location.href = "/"

}else {

alert('登录失败');

}

}

});

路由:

//Route::group(['middleware' => 'page-cache'], function($router) {

Route::group([], function($router) {

$router->get('/', 'IndexController@index')->name('home.index');

});

Route::get('/home/index/air', 'IndexController@air');

//用户

Route::get('/home/index/register', 'UserController@register');

Route::post('/home/index/login', 'UserController@login');

auth.php

'guards' => [

'web' => [

'driver' => 'session',

'provider' => 'users',

],

'api' => [

'driver' => 'jwt',

'provider' => 'member',

],

'admin' => [

'driver' => 'session',

'provider' => 'users',

],

'member' => [

'driver' => 'session',

'provider' => 'members',

],

],

/*

|--------------------------------------------------------------------------

| User Providers

|--------------------------------------------------------------------------

|

| All authentication drivers have a user provider. This defines how the

| users are actually retrieved out of your database or other storage

| mechanisms used by this application to persist your user's data.

|

| If you have multiple user tables or models you may configure multiple

| sources which represent each model / table. These sources may then

| be assigned to any extra authentication guards you have defined.

|

| Supported: "database", "eloquent"

|

*/

'providers' => [

'members' => [

'driver' => 'eloquent',

'model' => App\Models\Member::class,

],

'users' => [

'driver' => 'eloquent',

'model' => App\Models\User::class,

],

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值