Laravel - 不能再使用基本身份验证
Posted
技术标签:
【中文标题】Laravel - 不能再使用基本身份验证【英文标题】:Laravel - Can no longer use basic auth 【发布时间】:2018-10-24 12:22:41 【问题描述】:我使用下面的文章在我的 laravel 项目中创建 JWT 身份验证。但现在我不能再使用基本身份验证。有没有办法使用基本身份验证?我的网络界面需要它。
https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps
namespace App\Http\Controllers\Auth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
public function __construct()
$this->middleware('guest', ['except' => 'getLogout']);
protected function validator(array $data)
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
protected function create(array $data)
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
Route::get('auth/login', 'Auth\AuthController@getLogin'); Route::post('auth/login', 'Auth\AuthController@postLogin');
更新:打开调试后出现以下错误:
Symfony\Component\Debug\Exception\FatalErrorException (E_UNKNOWN) 未找到特征“Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers”
【问题讨论】:
为什么不能使用?你得到什么错误?您对kernel.php
做了哪些更改尝试发布您的内核文件
@zuif - 添加了内核文件。我尝试使用身份验证表单登录,但它不会让我登录。但是,如果我安装一个单独的 laravel 实例并使用相同的后端,我可以登录。
您能否也发布您的配置auth.php
文件,并将您的控制器发布到您尝试使用基本身份验证的位置
@zuif - 刚刚添加。请参阅附件。
请不要发布代码图片并将代码本身放入您的问题/答案中。大多数图片托管服务提供商会随着时间的推移删除图片,这意味着您的问题/答案的内容会丢失。它还可以防止其他用户复制代码(即当他们想要测试它时)。
【参考方案1】:
一切看起来都很好,除了使用Tymon\JWTAuth
,您应该进行这些更改
将 api 驱动程序更改为 jwt 而不是令牌,如果您发布代码而不是图像并将默认保护更改为 api,我会发布代码。
对于您的基本身份验证,您应该可以毫无问题地使用它。尝试这样做,如果您无法发布代码,我将发布代码。
【讨论】:
它不适用于基本身份验证。可能是因为基础是 Laravel 5.1。即使我已经升级到 5.6,它也没有 5.6 具有的相同身份验证功能。如果我输入 mydomain/auth/login,我会得到一个空白页。我在上面添加了控制器代码。我收到“哎呀,好像出了点问题”消息。 @user9465677 确保将APP_DEBUG=true
添加到您的.env
文件以查看完整的错误描述...
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN) Trait 'Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers' 未找到以上是关于Laravel - 不能再使用基本身份验证的主要内容,如果未能解决你的问题,请参考以下文章
登录后 Laravel 基本身份验证重定向到 HTTPS 路由