2017-12-05 7 views
1

認証されたユーザがリソースを要求する権限を持っているかどうかをチェックする方法が多数あります。しかし、私はユーザーがまったく認証されているかどうかを確認するための例を見つけることができません。ユーザがコントローラで認証されているかどうかをチェック

私はこのコードを使用して、ユーザーが認証されているかどうかを確認しようとしていた中で、カーネル要求リスナーを、持っている:

if (TRUE === $this->get('security.authorization_checker')->isGranted('ROLE_USER')) 
{ 
    //doing stuff 
} 

私は、次のエラーメッセージが出ます:

AuthenticationCredentialsNotFoundException in classes.php line 5307: 
The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL. 

ユーザーがまったくログインしていないため、認証トークンがないためです。

私の質問は、symfonyのコントローラで、彼が許可されているかどうかを確認する前に、ユーザーが認証されているかどうかを確認するにはどうすればいいですか?あなたはそのようにそれを確認することができます

+1

あなたは手動でそれを確認する必要があることを確認していますか? Symfony Securityは、許可されていないユーザの特定のルートへのアクセスを拒否することで、あなたのために実行できます。 – svgrafov

答えて

0

$this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY'); 
0

official documentationを参照すると、あなたはIS_AUTHENTICATED_FULLYIS_AUTHENTICATED_REMEMBEREDを使用することができます。

if (!$this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY')) { 
    throw $this->createAccessDeniedException(); 
} 

// do stuff 
関連する問題