2016-05-03 6 views
0

私はlaravelの初心者です。私は複数のユーザーの役割とアクセス許可の概念を使用しています。そのユーザーに許可されていないURLをユーザーが手動で入力すると、そのユーザーをログアウトします。Laravel - ユーザーが許可されていないURLを手動で入力すると、ログアウトしてログアウトする方法

私は正常にユーザーをログアウトしましたが、ログアウトページは、ログインの単一ページではなくコンテンツエリアに表示しました。

私を助けてください。

public function handle($request, Closure $next, $permission = null) 
    { 
     if ($request->getSession()->has('user')) { 
      $userObj = new \App\User; 
      if ($userObj->canAccess($request->getSession()->get('user')[0]['userPerm'], $permission)) { 
       return $next($request); 
      } 
      else{ 
        redirect('logout')->withErrors(array('mst_error' => 'Unauthorized Access!'))->send();exit; 
      } 
     } 
     return $request->isXmlHttpRequest() ? 
      response(json_encode(array('session_logout' => true)), 401) : 
      redirect('login')->withErrors(array('mst_error' => 'You don\'t have any active session. Please login again')); 
    } 
+0

ある

$.ajax({ url:url, data:data, statusCode: { 401: function(res){ location.href = "unauthorized"; } } }).done(function(result){console.log(result); $('#section-content').html(result); }); 

ログアウトページのコンテンツエリア。だから私は何をすべきですか?緊急を助けてください。 –

答えて

0

私が解決した:)これは私のハンドル機能が

です - 事前に

おかげで....

画像スナップショット enter image description here

は、これが私のACLコードです

public function handle($request, Closure $next, $permission = null) 
    { 
     if ($request->getSession()->has('user')) { 
      $userObj = new \App\User; 
      if ($userObj->canAccess($request->getSession()->get('user')[0]['userPerm'], $permission)) { 
       return $next($request); 
      } 
      else{ 
        return response()->json(array('mst_error'=>'Unauthorized Access.'),401); 
       } 
     } 
     return $request->isXmlHttpRequest() ? 
      response(json_encode(array('session_logout' => true)), 401) : 
      redirect('login')->withErrors(array('mst_error' => 'You don\'t have any active session. Please login again')); 
    } 

これは私のAjaxのリクエストである - これはこれは、要求がAJAXとAjax交換するから来ているので、ページ全体を示すページをログアウトするリダイレクトしませんが認証コントローラでの私の不正機能

protected function unauthorized_logout (Request $request) { 
     if ($request->getSession()->has('user')) { 
      $request->getSession()->flush(); 
     }   
     Session::flash('error','Unauthorized Access!'); 
     return redirect('/'); 
    } 
+0

あなたのコードを質問に追加してください..答えではありません – Thamilan

関連する問題