2016-04-06 36 views
2

Bir Lümen projesinde Laravel'in HTTP Temel Kimlik Doğrulamasını kullanmaya çalışıyorum.Lümen HTTP Temel Kimlik Doğrulaması

$app->routeMiddleware([ 
    'auth.basic' => Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
]); 
: bootstrap.php günü

$app->get('/test', ['middleware' => 'auth.basic', function() { 
    return "test stuff"; 
}]); 

Ben ara katman ve auth servis sağlayıcı kaydedildi: routes.php Dosyaya ekli

, ben kimliğini doğrulamak için gereken bozguna için auth.basic ara katman ayarlamak

[...]

$app->register(App\Providers\AuthServiceProvider::class); 

Ama sınamaya çalıştığımda Temel kimlik doğrulaması için muhafız kodu almak nasıl

Fatal error: Call to undefined method Illuminate\Auth\RequestGuard::basic() in C:\source\lumen\vendor\illuminate\auth\Middleware\AuthenticateWithBasicAuth.php on line 38

bilen var mı: aşağıdaki hatayı alıyorum http://lumen/test ziyaret ederek rota?

Teşekkürler.

cevap

0

, benzer bir sorun haline Ran veritabanında kullanıcılar için temel kimlik doğrulama kullanmak istedi, bu yüzden kendi AuthServiceProvider yazma sona erdi ve bootstrap içinde/İşte

sınıftır app.php, belki de yardımcı olacağını kayıtlı Senin durumunda.

<?php 

namespace App\Providers; 

use App\User; 
use Illuminate\Support\Facades\Hash; 
use Illuminate\Support\ServiceProvider; 

class HttpBasicAuthServiceProvider extends ServiceProvider 
{ 
    /** 
    * Register any application services. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     // 
    } 

    /** 
    * Boot the authentication services for the application. 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     $this->app['auth']->viaRequest('api', function ($request) { 
      $email = $_SERVER['PHP_AUTH_USER']; 
      $password = $_SERVER['PHP_AUTH_PW']; 

      if ($email && $password) { 
       $user = User::whereEmail($email)->first(); 
       if (Hash::check($password, $user->password)) { 
        return $user; 
       } 
      } 

      return null; 
     }); 
    } 
} 
İlgili konular