HTTP 基本认证
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}]