アプリのセキュリティ層を設定しようとしていますが、成功していません。私がやろうとしているのは、フォーム認証リスナーを介してセキュリティ ファイアウォールを設定することですが、API REST に対してユーザーを認証するためにカスタマイズされています。
私のニーズをカバーする Symfony2のすばらしいチュートリアルを見つけましたが、Silex の方法にまったく翻訳できません。
ファイアウォールの構成は次のようになるはずです。
$app->register(
new Silex\Provider\SecurityServiceProvider(),
array(
'security.firewalls' => array(
'default' => array(
'pattern' => '^/',
'anonymous' => true,
'api' => array(
'login_path' => '/login',
'check_path' => '/login_check',
),
'logout' => array('logout_path' => '/logout')
),
),
)
);
...現在のセキュリティ要件は次のとおりです。
- どのユーザーもサイト内を自由に移動できます
- ログインしたユーザー (フォーム経由) は、より多くのアクションを実行し、他の機能を表示できます
似たようなものに関する別の優れたチュートリアルは公式のものです: http://silex.sensiolabs.org/doc/providers/security.html#defining-a-custom-authentication-provider
しかし、正しく動作するようにそれらを混在させることはできません。