HTTP 基本认证

2018-02-24 15:52 更新

HTTP 基本认证提供了一个快速的方式来认证用户而不用特定设置一个「登入」页。在您的路由内设定 auth.basic 中间件则可启动这个功能:

用 HTTP 基本认证保护路由

Route::get('profile', ['middleware' => 'auth.basic', function()
{
    // Only authenticated users may enter...
}]);

默认情况下 basic 中间件会使用用户的 email 列当做「 username 」。

设定无状态的 HTTP 基本过滤器

你可能想要使用 HTTP 基本认证,但不会在 session 里设置用户身份的 cookie,这在 API 认证时特別有用。如果要這樣做,定义一个中间件并调用 onceBasic 方法:

public function handle($request, Closure $next)
{
    return Auth::onceBasic() ?: $next($request);
}

如果你使用 PHP FastCGI,HTTP 基本认证可能无法正常运行。请在你的 .htaccess 文件内新增以下代码:

RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号