2016-01-13 122 views
1

我開始學習棘輪(reactPHP)我正在使用laravel。但是我對安全問題有所瞭解。 我怎麼能拒絕基於在用戶登錄或不Laravel棘輪插槽Auth

public function onOpen(ConnectionInterface $conn) 
    { 
     $this->clients->attach($conn); 
     $this->users[$conn->resourceId] = $conn; 
     if(Auth::check()){ 
      echo 'user logged in'; 
     }else{ 
      echo "New connection! ({$conn->resourceId})\n"; 
     } 

    } 

我用這樣的事情,但它通過驗證::檢查和控制檯總是顯示新建連接WebSocket連接。

回答

0

好玩弄找到解決方案,它似乎確定: 我使用Sentinel

$session = (new SessionManager(App::getInstance()))->driver(); 
$cookies = $conn->WebSocket->request->getCookies(); 
$laravelCookie = urldecode($cookies['timeline_auth']); 
$idSession = Crypt::decrypt($laravelCookie); 
$user = Sentinel::findByPersistenceCode($idSession); 

如果有更好的解決方案,請發表評論