2011-12-08 9 views
1

すべての認証済みユーザがアクセスできる1つのアクションを除いて、私は管理者だけがアクセスできるモジュールを持っています。symfony 1.4 security.ymlデフォルトの認証情報設定を上書きする

その単一のアクションの信任状をリセットする方法はありますか?私はnullを使用しようとしましたが、引き続き403エラーが発生します。 security.yml内のすべてのアクションを唯一の解決策としてリストアップしていますか?

default: 
    credentials: [ admin ] 

public: 
    credentials: null 

答えて

2

空の配列または資格情報を設定しようとしましたか?

public: 
    credentials: [ ] 
+0

ありがとう、これは完全に動作します! – szemian

0

はい、アクセス権のあるユーザーを細かく制御するには、すべての操作をリストする必要があります。

また、資格情報を必要としないアクションをis_secure : falseに設定し、コントローラ内のアクションによって認証されているかどうかを確認することもできます(醜いですが)。

また、資格情報を使用して実行する場合は、すべてのユーザーにデフォルトの資格証明を設定する必要があります。つまり、「ユーザー」と呼ばれる資格情報を持っています

興味のあるもの:このモジュールにはいくつのアクションがありますか?

編集:nullの代わりに~を使用するとどうなりますか?

+0

これまでのところ、私は約8つの動作があります。アクションをリストするのは問題ではありませんが、既定のセキュリティ設定を制限しないで、次に別のアクションを追加してセキュリティ設定を追加するのを忘れると、すべてのユーザーが新しい行動。私も〜を試しました(yamlではnullも意味します)が、403もありました。最高の方法は、あなたが示唆したようにデフォルトの資格情報を提供することです。 – szemian

0

あなたはすべてのクレデンシャル(sf1.4 ad reference

でログインしているユーザーのために、それはづけしていたい場合は、パブリックアクション内のすべての許可された資格情報を記述する必要があります...またはあなたが全世界にアクションを開くことができます。

default: 
    is_secure: true 

myPublicAction: 
    is_secure: false 
+0

フィードバックいただきありがとうございます、私はすべての認証されたユーザーの既定の資格情報を持っていないので、私は立ち往生だと思います。 Flukeyが示唆しているようにデフォルトの認証情報を追加します。 – szemian

+0

お気軽にお問い合わせください。あなたが必要とするならば、そのsf1.4リファレンスに従ってください、その最高の情報源 – palmic

関連する問題