2016-11-15 4 views
0

私はelfinder laravelパッケージを使用してファイルを管理および整理しています。laravelでのユーザーの認証後、設定をどこで変更できますか?

このファイルには、ユーザがファイルをアップロードできるディレクトリを指定するための設定オプションがあります(elfinder.dir)。

このオプションは、ユーザusernameと同じ名前のディレクトリに変更(または作成)します。

私は、ユーザーの管理パネルへのアクセスを制限するためのユーザー認証の後に実行されるミドルウェアにいくつかのコードを書いています。

usernameと同じディレクトリがない場合は、作成することがわかります。

しかし、私はミドルウェアでこの操作を行うことが正しいことを知りたいのですか、それとも別の(適切な)場所がありますか?

答えて

1

@ yannis-berrouagによれば、1533のdocsにはauthentication eventsと答えています。

まず私はEventServiceProvider.phpにこれを追加しました:

'Illuminate\Auth\Events\Authenticated' => [ 
     'App\Listeners\SetElfinderConfigs', 
], 

をそれから私はこのようなSetElfinderConfigsリスナーへの私の希望アクションを追加:共有のための感謝:)

class SetElfinderConfigs 
    { 
     /** 
     * Create the event listener. 
     * 
     * @return void 
     */ 
     public function __construct() 
     { 
      // 
     } 

     /** 
     * Handle the event. 
     * 
     * @param Authenticated $event 
     * 
     * @return void 
     */ 
     public function handle (Authenticated $event) 
     { 
      $username = $event->user->username; 
      if (!File::exists(public_path('upload') . '/' . $username)) { 
       File::makeDirectory(public_path('upload') . '/' . $username, 0775); 
      } 
      Config::set('elfinder.dir', ["upload/$username"]); 
     } 
    } 
+0

がクール! –

1

あなたが使っているlaravelのバージョンは分かりませんが、これは私の意見ではイベントで行うべきことです。

あなたはログインイベントを聴いて、その中で自分のことを行うことができます。

関連する問題