lundi 3 juillet 2017

How can we implement laravel auth for user table not default users table in mongo?

I am trying to implement Laravel Auth for user collection not default users table. Login credentials in user collection are usrName and usrPassword. In this case How can I add Laravel Auth feature. I have added some changes but login feature not working.

I am using a package "http://ift.tt/2syFbmB" for connecting Laravel 5.4 and MongoDB 3.4

auth.php (config)

'defaults' => [
        'guard' => 'web',
        'passwords' => 'user',
    ],
'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'user',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'user',
        ],
    ],
'providers' => [
        'user' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
'passwords' => [
        'user' => [
            'provider' => 'user',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],

User.php (Eloquent model)

use Illuminate\Notifications\Notifiable;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use Illuminate\Auth\Authenticatable;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;

class User extends Eloquent implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract
{
    use Authenticatable, Authorizable, CanResetPassword;

    use Notifiable;

    protected $collection = 'user';

    public $timestamps = false; 

    protected $fillable = [
        'usrName', 'usrPassword',
    ];

    protected $hidden = [
        'usrPassword', 'remember_token',
    ];

}

LoginController.php

class LoginController extends Controller
{
 use AuthenticatesUsers;
 protected $redirectTo = '/admin/dashboard';
 public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
}

web.php

Auth::routes();

Route::prefix('admin')->middleware('auth')->group(function () {
 Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire