2016-06-15 46 views
1

我是一個完全新手到Laravel,但下面很多很多的指導後,我的計劃一直都很順利。集成身份驗證現有的Laravel項目和用戶數據庫

現在,我有一個名爲UsersTable的用戶表,它將存儲UsernamePassword

但是,在嘗試php artisan make:auth和大量的谷歌搜索之後,我沒有找到明確的,確切的方式來定義用戶表名稱和用於身份驗證的用戶名密碼字段。

我試過名爲users的另一個項目對於我這個嘗試創建表的原始電子郵件地址和密碼的認證,它就像一個魅力。我相信,由於Laravel已經提供了認證系統,爲什麼在重新設計輪子時(我相信)有一種定製方法。

在此先感謝! :d

回答

0

使用php artisan make:auth然後:

要從用戶更改默認的表,使用用戶模型 你必須導航到:config/auth.php

而做出這些改變

'providers' => [ 
     'users' => [ 
      'driver' => 'eloquent', 
      'model' => App\UsersTable::class, //put the right model name here or you can use database driver 
     ], 
    ], 

若要更改表雄辯的模型,你可以做到這一點

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

    class UsersTable extends Model 
    { 
     /** 
     * The table associated with the model. 
     * 
     * @var string 
     */ 
     protected $table = 'UsersTable'; 
    } 

從電子郵件更改默認的登錄憑證用戶名,只需將其添加到Authcontroller通過laravel產生現在

class AuthController extends Controller 
{ 
    use AuthenticatesAndRegistersUsers, ThrottlesLogins; 

    protected $redirectTo = '/home'; 
    protected $username = 'username'; // you can put whatever column you want here from your table 

編輯laravel生成視圖和更改電子郵件輸入名稱name="username"然後延長main.blade.php,做一些造型,你是好去我猜

編輯:不要忘記更改驗證的東西

+0

謝謝!密碼字段怎麼樣?我可以做$ password ='PassWordField'嗎? – srakrn

+0

嗯,我真的不知道這可是給它一個鏡頭,並順便說一句,如果這個工作適合你,請根據投票部分滴答作響的綠色標記爲已回答宣佈了這個問題 –

0

Laravel基本身份驗證系統不創建自己的身份驗證方法,以最快的方式......我建議你Sentinel Package自定義您的認證......

例如,通過使用用戶名,你可以驗證你的用戶這樣做:

Sentinel::authenticate(array(
    'username' => 'john.doe', 
    'password' => 'foobar', 
)); 

對我來說這是定製您的身份驗證方法的最快方法,我希望這可以幫助您。