2017-11-29 4 views
0

ソーシャルメディアを介してログオンしているかどうかを確認するために次のコードを実行して、プロファイルの編集ページにリダイレクトする場合は、情報を更新する義務があるので、名前、ユーザー名、プロフィールの再開が設定されていなくても、私のウェブサイトをナビゲートすることができるようになっています。Laravel |すべてのページでIFを実行する

public function check_user_info() 
{ 
    $user = User::where('access_token', Auth::user()->access_token)->first(); 

    if (empty($user->fname) || empty($user->lname) || is_null($user->username) || empty($user->username)) 
    { 
     $user = Auth::user(); 
     return view('modify')->with([ 
      'user' => $user, 
      ]); 
    } 
    return view('home'); 
} 
+1

あなたはそのために 'middleware'を使用することができます。 https://laravel.com/docs/5.5/middleware – Jackowski

+0

ミドルウェアを作成してkernel.phpに追加しましたが、何も起こりません... –

答えて

0

あなたはユーザーポリシーを作成し、以下の機能を追加することができます。

public function home(User $user) 
{ 
    return (empty($user->fname) || empty($user->lname) || is_null($user->username) || empty($user->username)); 
} 

、あなたのホームコントローラで

は:

public function index(){ 
    try{ 
     $this->authorize('home', User::class); 
    }catch(AuthorizationException $e){ 
     return view('modify')->with([ 
     'user' => Auth::user(), 
     ]); 
    } 
    return view('home'); 
} 
関連する問題