Auth :: User()在laravel 5.2中为null

时间:2018-06-27 05:40:06

标签: laravel authentication

我是laravel的新手。我在应用程序中使用多重身份验证。用户和管理员是我应用程序中的2种用户。通过管理员的个人资料页面登录到应用程序后,IAM为管理员开发更改密码。现在我想登录管理员用户详细信息,以便在控制器中使用以下代码

if (Auth::guard('admin')->check()) {
        $user = Auth::id();
        echo '<pre>';
        dd($user);
        exit;
    }

我还在控制器中添加了以下代码

use App\Http\Controllers\Adminauth;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Admin;
use Session;
use DB;
use App\Http\Controllers\Controller;
use Auth;

在route.php中,我编写了以下代码

Route::group(['middleware' => ['admin']], function () {
//Login Routes...
Route::auth();
Route::get('admin/profile/change_password', 'Admin\AdminController@change_password');

});

但是我无法获取管理员用户详细信息。谁能帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

尝试一下

public function __construct() {
$this->middleware('auth:admin');
$this->middleware(function ($request, $next) {
$user = $this->user = Auth::user();
dd($user);
});
}

在路线

Route::get('/', function () {
    //return view('welcome');
     return view('auth.login');
});

答案 1 :(得分:0)

driver.findElement(By.xpath("//div[@class='smpdf_BsrfvsQ6t09wiN']")).click(); Thread.sleep(2000); int count=driver.findElements(By.xpath("//div[@class='col-xs-12 ']//ul[@class='smpdf_2Rdvmu2rysHgyv']/child::li")).size(); System.out.println(count); } 仅在Auth::user()中间件下工作。您可以在控制器上调用auth中间件,也可以在路由上调用它,但不能同时在两者上调用。

auth

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;

class YourController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth')
    }
    
    public function yourFunction(Request $request)
    {
        $user = \Auth::user();
        dd($user);
    }
}