Laravel Auth 使用Http Basic Authenticate基本认证,不使用数据库

首先

先创建一个自定义的中间件auth basic认证

使用laravel artisan

例如名称为:HttpBasicAuth

HttpBasicAuth这个名称自定义

在cmd里执行

php artisan make:middleware HttpBasicAuth

创建成功之后在这个目录里

app\Http\Middleware\HttpBasicAuth.php

打开HttpBasicAuth.php

把代码改成如下

拟定

账号为admin
密码为123456

可以把账号密码存入.env文件里,我为了方便直接就写在了中间件文件里了

  public function handle(Request $request, Closure $next)
    {

        if ($request->getUser() != 'admin' || $request->getPassword() != '123456') {
            $headers = array('WWW-Authenticate' => 'Basic');
            return response('Unauthorized', 401, $headers);
        }

        return $next($request);
    }

然后在配置路由

web.php

这是laravel 8.x的路由写法

例如

Route::get('/', [IndexController::class, 'index'])->middleware([\App\Http\Middleware\HttpBasicAuth::class]);

不出意外的话,

打开页面将会弹出一个窗,

如有意外请拨打114。

参考:

https://stackoverrun.com/cn/q/12087571

https://laravel.com/docs/8.x/middleware#assigning-middleware-to-routes

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注




Enter Captcha Here :