【发布时间】: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() 它转储“没有用户登录”。谁能帮我?我需要通过
获取登录用户的 IDAuth::User()->id;
【问题讨论】:
-
不确定是否要使用相同的方法,但这是我关于不同用户角色和中间件的帖子:stackoverflow.com/questions/46501968/… 可能会有所帮助。
-
我正在使用两个表。另一个基本上是给公司的
标签: php laravel authentication laravel-5.4