Laravel 5.2.29 multiauth 使用 Auth::guard('one'),Auth::guard('two')
Posted
技术标签:
【中文标题】Laravel 5.2.29 multiauth 使用 Auth::guard(\'one\'),Auth::guard(\'two\')【英文标题】:Laravel 5.2.29 multiauth using Auth::guard('one'),Auth::guard('two')Laravel 5.2.29 multiauth 使用 Auth::guard('one'),Auth::guard('two') 【发布时间】:2016-07-30 21:29:54 【问题描述】:请帮我解决这个问题
我想使用多重身份验证。
我的 Laravel 版本是 5.2.* (5.2.29)
我会做所有文档中写的
//congig/auth.php
<?php
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admin' => [
'driver' => 'token',
'provider' => 'adminProvider',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'adminProvider' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'auth.emails.password',
'table' => 'password_resets',
'expire' => 60,
],
],
];
But
Auth::guard('api')->attempt(['email'=>som@email.com,...])
它给出了以下错误
AuthController.php 第 34 行中的 FatalErrorException:
调用未定义的方法 Illuminate\Auth\TokenGuard::attempt() 我做错了什么?
【问题讨论】:
【参考方案1】:您应该更改以下内容:
'admin' => [
'driver' => 'token',
'provider' => 'adminProvider',
],
到
'admin' => [
'driver' => 'session',
'provider' => 'adminProvider',
],
您不能使用带有令牌的尝试。
【讨论】:
哦,非常感谢。您的回答帮助我解决了这个问题 抱歉,我不知道该怎么做 在我回答您的问题的左侧,两个箭头之间为零,请点击向上箭头并单击向下箭头@VanyaAvchyan 下方的勾号 我这样做是因为我真的完全相信这个答案。再次感谢您 如果有时间请回复本问题***.com/questions/36520419/…以上是关于Laravel 5.2.29 multiauth 使用 Auth::guard('one'),Auth::guard('two')的主要内容,如果未能解决你的问题,请参考以下文章