1

ロールの使用を確認するための次のコード スニペットがありますが、

セキュリティ コンテキストに認証トークンが含まれていません。考えられる理由の 1 つは、この URL にファイアウォールが構成されていないことです。

public function loginAction(){
        $request = $this->getRequest();
        $session = $request->getSession();
        var_dump($this->get("security.context")->isGranted('ROLE_ADMIN'));
        $response =  new Response();
        $response -> setContent("login facebook");
        $response->send();
        return array('name'=>'login facebook');
    }

このエラーが発生する理由と修正方法を教えてください。

4

1 に答える 1

3

例外メッセージは非常に明確です: One possible reason may be that there is no firewall configured for this URL. ユーザーの役割を確認するには、ユーザー (匿名かどうか) を含むトークンが必要です。既定では、特定のパスの認証プロバイダーを構成しない場合、セキュリティ コンテキストは取得されません。

ここでの解決策は、認証プロバイダーを追加することです。

于 2012-08-15T17:53:20.517 に答える