0

我想禁用laravel密碼bcrypt,當我嘗試登錄,在這樣如何禁用laravel 5.2密碼bcrypt

Auth::guard('client')->attempt(
'id' => $request['id'], 
'password' => $request['password']) 

但它似乎比我想象的更難治,我知道我不應該做到這一點,但我暫時需要這樣工作,但laravel迫使我使用加密密碼。我需要能夠在我的數據庫上使用普通密碼。

我一直在互聯網上搜索,但我找不到解決方案。

+0

哦否:未來還有另一種安全漏洞。 – zaph

+0

不要在數據庫中使用純文本密碼。 –

回答

0

可以擴展照亮\身​​份驗證\ EloquentUserProvider,即:

<?php 

namespace App\Services\Auth; 

use Illuminate\Auth\EloquentUserProvider as BaseUserProvider; 
use Illuminate\Contracts\Auth\Authenticatable as UserContract; 

class UserProvider extends BaseUserProvider { 
    /** 
    * Create a new database user provider. 
    * 
    * @param string $model 
    * 
    * @return void 
    */ 
    public function __construct($model) 
    { 
     $this->model = $model; 
    } 

    /** 
    * Validate a user against the given credentials. 
    * 
    * @param \Illuminate\Contracts\Auth\Authenticatable $user 
    * @param array          $credentials 
    * 
    * @return bool 
    */ 
    public function validateCredentials(UserContract $user, array $credentials) 
    { 
     $plain = $credentials['password']; 

     // $matches = some method of matching $plain with $user->getAuthPassword(); 

     return $matches; 
    } 
} 

然後在國際奧委會服務提供商像這樣註冊的:

<?php // ... 

/** 
* Register the service provider. 
* 
* @return void 
*/ 
public function register() 
{ 
    // ... 

    $this->app['auth']->extend(
     'legacy', 
     function() { 
      return new \Illuminate\Auth\Guard(
       new \App\Services\Auth\UserProvider(
        $this->app['config']['auth.model'] 
       ), 
       $this->app['session.store'] 
      ); 
     } 
    ); 

    // ... 
} 

然後設置當前的驅動程序遺留在配置/ auth.php。

PS:您可能希望在提供商中包含這些類,

+0

延期是什麼意思?什麼類?,什麼是LC? – Saucyloco