2011-10-18 10 views
1

Symfony 1.4.13のsecurity.ymlファイルにデフォルトでセキュリティが設定されている特定のモジュールがあります。誰かが(ログアウトしたユーザーから)アクセス可能にしたい特定のオブジェクトアクションが1つありますが、YAMLファイル内のアクション名を正しい方法で見つけ出すことができないようです。security.ymlのsymfonyオブジェクトアクションに対するセキュリティ保護されていないアクセスを許可する

具体的には、典型的なインデックス、表示、作成などのアクションとrunReportオブジェクトアクション(つまり、アクションメソッドの名前はexecuteListRunReport)を持つprojectモジュールがあります。次のようにsecurity.ymlファイルは次のとおりです。

all: 
    is_secure: true 

index: 
    credentials: pm_view 

show: 
    credentials: pm_view 

filter: 
    credentials: pm_view 

runReport: # This is the one that is giving me problems 
    is_secure: false 

actions.phpでの私の方法は次のとおりです。project/[idOfObject]/ListRunReportに行くとき

public function executeListRunReport(sfWebRequest $request) { 
... 
} 

これは、ログインしているユーザーのためだけで正常に動作します。

ログインすることなく誰でもそのアクションにアクセスできるようにsecurity.ymlファイルを書き込むにはどうすればよいですか?ありがとう!

+0

わかりませんが、 'all:'を 'default:'に変更してみてください – mblaettermann

答えて

1

この問題は、security.ymlで要素の名前を付けていたことを示しています(申し訳ありませんが、質問が明確でない場合はenoおそらくこれが元々の問題だったことを示すために)。

コードのような希望のように、それは、listRunReportで動作します:

listRunReport: 
    is_secure:false 

@arsenikはすべてのことに正しかった:is_secure:真実は不要だったが、残念ながら(問題が解決しませんでしたそれは残ることができる)。

レッスンは、リストオブジェクトのアクションがexecuteListXYZという名前になると、security.ymlのlistXYZというラベルを付けなければなりません。

3

アプリ/ * /設定/ security.ymlファイルが

default: 
    is_secure: true 

を持っている場合は、あなたのモジュールのsecurity.ymlファイルで定義することができます。

index: 
    credentials: pm_view 

show: 
    credentials: pm_view 

filter: 
    credentials: pm_view 

runReport: 
    is_secure: false 

そして、あなたのモジュールから削除します。

all: 
    is_secure: true 
+0

ありがとう、これは私の洞穴のために働いていました。 –

関連する問題