2016-11-23 63 views
0

我正在使用laravel 5.2.I想檢查用戶是否分配有url.if用戶嘗試訪問管理員未分配給他的url,應顯示「拒絕訪問」消息。 我會告訴我的comntroller如何檢查用戶是否被分配了url?

public function checkUrl(){ 

     $current_link = $_SERVER['REQUEST_URI'];//current link 

     $current_link=ltrim($current_link, '/'); 

     $current_link=ltrim($current_link, 'cable'); 

     $current_link=ltrim($current_link, '/');   

     $dlink = Roles::where('link',$current_link)->pluck('id');//current link id 

     $elink=Auth::user()->id;//current user id 

     if($elink == $dlink) 
     { 

     Session::flash('flash_notification', array('level' => 'success', 'message' => 'Access Denied!!')); 

     return redirect()->action('Admin\[email protected]'); 
      } 

      } 
+0

你會得到任何錯誤?什麼是'dlink'和'elink'變量? – jaysingkar

+0

$ dlink用於獲取當前鏈接ID,$ elink用於當前用戶ID – vibin

+0

抱歉,我錯過了代碼中的註釋。這是不是工作?我不明白的問題 – jaysingkar

回答

0

您有否認在這種情況下訪問幾個選項。

1)創建一個頁面,顯示「拒絕訪問的消息」和其他您想要包含的詳細信息,如果訪問被拒絕,則返回此頁面。 例如,考慮創建的頁面是access_denied.blade.php那麼你如果情況看起來象下面這樣:

if($elink == $dlink) 
    { 
     Session::flash('flash_notification', array('level' => 'success', 'message' => 'Access Denied!!')); 
     return view("access_denied"); 
    } 

2)因爲,你將請求重定向到另一個動作,處理訪問相關的響應存在。

3)發送放棄響應,如給出here

相關問題