2012-02-16 6 views
0

私は開発中のシステムにACLを実装しようとしていましたが、 にはいくつかの問題がありました。これは主に、件名に という文書がないためです。この複雑で基本的なコンポーネントについてもっと詳しく知りたい方は、 があれば本当にいいですね。どんな場合でも、私は 私は理解して何かを書いて幸せになるSymfony2 ACLの問題

とにかく、私が持っている問題は次のとおりです: 1.私はクラスフィールドスコープのACEでロールを表示し、編集するオブジェクトのフィールド 。 が指定されているビュー( 'VIEW'、オブジェクト、 'myField')

これは常にfalseです。 クラスのすべてのインスタンスにクラススコープを適用しないでください。私はこのスコープがどのように機能するのかは分かりません。

  1. グループを削除するときに、そのグループ に関連するすべてのACLエントリを削除したいとします。私はこのように試してみた: $ aclProvider-> deleteAcl(ObjectIdentity :: fromDomainObject($グループ))

をそれは動作します。それから、私は新しいグループを作ろうとします。グループが作成される、 が、ACLの設定は、このエラーで失敗します。

お知らせ:不定オフセット:0プロジェクトで/ベンダー/ symfonyの/ SRC/symfonyの/ コンポーネント/セキュリティ/ ACLを/ DBAL/MutableAclProvider.phpライン850

ご協力いただきありがとうございます。

答えて

4

編集:私はソースコードを更新しました。これは現在、より良い解決策です。

私は少し最近ACLとSymfony2を試しています。

私は、これはクラス・フィールドスコープをチェックする方法あるを発見したものから:

$post = $postRepo->findOneById(1); 

$securityContext = $this->get('security.context'); 
$oid = new ObjectIdentity('class', 'Liip\\TestBundle\\Entity\\Post'); 

$object = new FieldVote($oid, 'id'); 
if (true === $securityContext->isGranted('EDIT', $object)){ 
    echo "Access to 'id' field granted"; 
}else{ 
    echo "Access denied"; 
} 

$object = new FieldVote($oid, 'post'); 
if (true === $securityContext->isGranted('VIEW', $object)) 
{ 
    echo "Access to 'post' field granted"; 
}else{ 
    echo "Access denied"; 
} 

私は今のところ何の知識を持っていないACLを削除について、私はいつか、後でその問題を検討する必要があります。 。私はこれが助けて欲しい!

さらに詳しい情報があります。おそらくないあなたのためにそれが役に立つことができ、他のユーザーのために:Smyfony2 and ACLs

よろしく レト

+0

お手伝いをしませんでしたか?私にお知らせください! – rryter

+0

それは仕事をしなかった –

関連する問題