2011-12-28 7 views
2

security.ymlsymfonyのバッチ処理セキュリティ

generator.yml
all: 
    is_secure: true 

new: 
    credentials: [add_ticker_source] 
edit: 
    credentials: [edit_ticker_source] 
delete: 
    credentials: [delete_ticker_source] 
batchDelete: //I don't know whether it is correct. Should it be batch_delete? 
    credentials: [delete_ticker_source] 
batch_delete: 
    credentials: [delete_ticker_source] 

index: 
    is_secure: false 

、私は

list: 
    batch_actions: 
     _delete: {credentials: delete_ticker_source} 

を追加し、私は最後の2行をコメントし、私のブラウザでリストビューを開きました。だから私のリストビューでは、ブラウザで、私はバッチアクションのドロップダウンで削除を見ることができます。今、私はそれらのコメントを外し、ブラウザをリフレッシュしませんでした。リストビューからいくつかの要素を選択し、バッチドロップダウンで削除を選択し、goを押しました。これらのアイテムは即座に削除されます。バッチ削除が安全でないことを意味しますか?または誰でも盗聴で削除できますか?

コメントを外してキャッシュをクリアしようとしても、その要素は削除されます。

P.S. :いいえ、私がログインしているユーザーは、delete_ticker_sourceの資格情報を持っていません(ウェブデバッグバーの指示通り)。

+0

アカウントにはどのような資格がありますか? – MrGlass

+0

@MrGlass:質問を更新しました。 – prongs

+1

'generator.yml'のこの設定で、この許可がなければ' _delete'バッチアクションはselectから消えなければなりません。また、 'batchDelete:credentials:[delete_ticker_source]'もうまくいくはずです。あなたは 'security.yml'をモジュール設定フォルダに入れましたか? ...また、テンプレート_list_batch_actions.phpをオーバーライドしましたか? – macgyver

答えて

1

あなたの設定を試しましたが、私はこの予期しない動作が不思議です。だから私は、コード内でサーフィンし、最終的に私たちは設定>アクションの下で、このようにgenerator.yml内の設定を配置する必要がありbatchDeleteアクションを確保することを発見した:Obiviously

config: 
    actions: 
    batchDelete: 
     credentials: [user_permission] 

user_permissionはあなたのためのdelete_ticker_sourceです。

+0

hmmm ..あなたは正しいです。次に、admin生成モジュールで 'security.yml'の使用は何ですか?つまり、 'generator.yml'にセキュリティ設定を書き込むことができます。第二に、それは奇妙な行動であるようです。私は切符を開けますか? – prongs

+0

あなたが試みることができるように、 'security.yml'を通して' new'、 'edit'と(バッチなしの)' delete'アクションを確保し、* config> actions *の下で 'generator.yml'を通して動作させます。冗長性であり、最初の選択肢では「きれいな」コーディングを得ることができます。しかし、この例外やバグ(?)があると、「より汚れた」コーディングが行われます。チケットを開くと、このジレンマが解消される可能性があります。 – macgyver