LoginSignup
0
0

More than 3 years have passed since last update.

Laravelでneo4jを使ってみる②Loginをneo4jに対応してみる

Posted at

※モデルファイルをapp/Models内に移動しています。
※参考【Laravel】モデルのディレクトリ構成変更についてのメモ

②ログイン機能を対応してみる

1)ログイン機能の有効化

下記コマンドをプロジェクトで実行

php artisan make:auth

2)User.phpの変更

app/Models/User.php※フォルダ構成変更していない場合はapp/User.php
<?php

namespace App\Models;

use Illuminate\Notifications\Notifiable;
//use Illuminate\Foundation\Auth\User as Authenticatable;

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;

use Vinelab\NeoEloquent\Eloquent\Model as NeoEloquent;

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

    protected $label = 'User';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}

【説明】
継承元の変更
元々UserクラスはLaravelフレームワークのAuthenticatableを継承していますが、こちらがNeoEloquentから派生していないため、
こちらで書き直しています。
モデルクラスがNeoEloquentから派生していない場合はエラーが発生します。

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;

use Vinelab\NeoEloquent\Eloquent\Model as NeoEloquent;

class User extends NeoEloquent implements
AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract

ラベルの設定
こちらを設定することで挿入されたデータのラベルがUserになります。
設定しない場合はAppModelsUserになりました。

protected $label = 'User';

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0