【问题标题】:Laravel multi auth 5.4Laravel 多重身份验证 5.4
【发布时间】:2017-10-21 16:06:42
【问题描述】:

我正在尝试在 laravel 5.4 中实现多重身份验证并以这种方式完成, 我已经在 auth.php 中为守卫实现了守卫和提供者,

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;

class FleetLoginController extends Controller {
    public function __construct() {
        $this->middleware('guest:company');
    }

    public function showLogInForm() {
        return view('fleet.fleetLogin');
    }

    public function login(Request $request) {
        $this->validate($request, [
            'email' => 'required|email',
            'password' => 'required'

        ]);
        if (Auth::guard('company')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
            $request->session()->regenerate();
            return $this->authenticated($request, $this->guard()->user())
                ?: redirect()->intended($this->redirectPath());

        } else {
            return redirect()->back()->withInput($request->only('email', 'remember'));
        }
    }

    public function logout(Request $request) {
        $this->guard('company')->logout();

        $request->session()->invalidate();

        return redirect('/');
    }

    public function logcheck() {
        if (Auth::check()) {
            dd('yes logged in');
        }
        else
        {
            dd('No user logged in');
        }
    }

    protected function authenticated(Request $request, $user) {
        $this->logcheck();
    }

    protected function guard() {
        return Auth::guard('company');
    }
}

我已经做了提供者和守卫,问题是当我调用函数 logcheck() 它转储“没有用户登录”。谁能帮我?我需要通过

获取登录用户的 ID
Auth::User()->id;

【问题讨论】:

  • 不确定是否要使用相同的方法,但这是我关于不同用户角色和中间件的帖子:stackoverflow.com/questions/46501968/… 可能会有所帮助。
  • 我正在使用两个表。另一个基本上是给公司的

标签: php laravel authentication laravel-5.4


【解决方案1】:

看来你需要使用发送名称来保护 Auth::guard('company')-&gt;check() on logcheck()

【讨论】:

  • 现在我如何将它用作中间件?
  • 只需在config/auth.php 中设置company 默认保护或将其添加到app/Http/Middlewares/RedirectIfAuthenticated.php
猜你喜欢
  • 1970-01-01
  • 2017-12-24
  • 2017-06-21
  • 2017-07-08
  • 2018-07-21
  • 2018-10-17
  • 1970-01-01
  • 2017-11-15
  • 2019-05-14
相关资源
最近更新 更多