Yes, I thought about that. I've been avoiding that approach, but I think now
it could help. That way I wouldn't need to delete and insert the ACE again.
I could update it and that's it. It's a little bit more of work but I'll
give it a try. I'll get back with comments about it. And I'll try to
reproduce the mentioned issue in a test too.


Thanks.

2011/4/9 Johannes Schmitt <schmitt...@gmail.com>

> I think even if it is a bit more work when changing permissions, you should
> definitely look into cumulative permissions since this will increase the
> performance of your application. It should be sufficient to have one ACE
> with all granting, and one ACE with all denying permissions for each
> security identity.
>
> Only changing the granting flag might cause problems in combination with
> the granting strategy, and I don't see the use case for it right now.
>
> Kind regards,
> Johannes
>
>
>
> On Fri, Apr 8, 2011 at 10:35 PM, Gustavo Adrian <
> comfortablynum...@gmail.com> wrote:
>
>> Of course. I'll try to reproduce the issue in a test. In the meantime I
>> want to clarify that I don't use cumulative permissions, because I need to
>> configure for each permission if it's an ALLOW or DENY entry, and it's
>> easier this way. Taking this fact into account, If I could update the
>> "granting" property of an ACE, I'd just update the existing ACE instead of
>> deleting and inserting it on the ACL. I've noticed that you can update a
>> field ACE passing the following properties to the "updateObjectFieldAce"
>> method of the Acl class:
>>
>> $index, $field, $mask, $strategy = null
>>
>> Could it be an issue if we add an additional property ($granting) to
>> update the granting property of the ACE or this could be a problem at some
>> point of the update? if it wouldn't be an issue I could try to add the
>> functionality, but first I'd like to be sure if there's a technical reason
>> to not update the $granting property of an ACE.
>>
>>
>> Thanks!
>>
>> Best regards.
>>
>> 2011/4/8 Johannes Schmitt <schmitt...@gmail.com>
>>
>>> It would be nice if you can provide a failing test case in
>>> MutableAclProviderTest, otherwise just create a ticket, and I'll take a look
>>> at it.
>>>
>>> Johannes
>>>
>>>
>>> On Fri, Apr 8, 2011 at 9:43 PM, Gustavo Adrian <
>>> comfortablynum...@gmail.com> wrote:
>>>
>>>> MySQL logs show:
>>>>
>>>> 2940 Query START TRANSACTION
>>>>  2940 Query UPDATE acl_entries SET ace_order = 4 WHERE id = 464
>>>> 2940 Query UPDATE acl_entries SET ace_order = 3 WHERE id = 465
>>>> 2940 Query UPDATE acl_entries SET ace_order = 3 WHERE id = 466
>>>> 2940 Query UPDATE acl_entries SET ace_order = 1 WHERE id = 479
>>>> 2940 Query rollback
>>>>
>>>>
>>>> It first changes ace_order's, so if I deleted the entry with ace_order =
>>>> 1, at the time of synchronizing changes in the DB it first updates 
>>>> ace_order
>>>> fields, so the ACE I deleted is still there (with ace_order = 1 too). This
>>>> is, of course, for ACEs that are affected for the same unique index, which
>>>> have this fields: class_id, object_identity_id, field_name and ace_order.
>>>>
>>>>
>>>> Thanks.
>>>>
>>>> 2011/4/8 Gustavo Adrian <comfortablynum...@gmail.com>
>>>>
>>>>> Hi all,
>>>>>
>>>>> During the update process of fields ACEs I'm getting this error:
>>>>>
>>>>> SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
>>>>> '12-1106-entityTypeFriendly-1' for key
>>>>> 'UNIQ_46C8B806EA000B103D9AB4A64DEF17BCE4289BF4'
>>>>>
>>>>> I explain what I'm doing: As I allow to change the type of granting of
>>>>> the permission (allow or deny), and I didn't find a way to update the
>>>>> granting property of an ACE with acl methods like "updateObjectFieldACE" 
>>>>> or
>>>>> the like, I'm just deleting the ACE and inserting it again on the ACL with
>>>>> the new value for the granting property. I do all this stuff for every 
>>>>> field
>>>>> and, at the end, I update the ACL with $aclProvider->updateACL($acl); .
>>>>> Could this way of updating the granting property of an ACE bring this
>>>>> exception?
>>>>>
>>>>> I'm looking at the MutableAclProvider and I see that the
>>>>> updateXXXProperty methods first insert new ACEs and finally delete old 
>>>>> ACEs
>>>>> (the ones which were deleted from the ACL). Could this mean that, as I
>>>>> deleted and inserted a new ACE from an ACL at the same time, at the moment
>>>>> of the update on the DB it first try to insert the new ACE with the same
>>>>> ace_order as the one that is going to be deleted? it's just a guess. I'm
>>>>> trying to trace the error so I can give further details.
>>>>>
>>>>> Is there a way to update the granting property of an ACE so I can
>>>>> update the ACE instead of deleting it an reinserting it again?
>>>>>
>>>>>
>>>>>
>>>>> Thanks in advance!
>>>>>
>>>>
>>>>  --
>>>> If you want to report a vulnerability issue on symfony, please send it
>>>> to security at symfony-project.com
>>>>
>>>> You received this message because you are subscribed to the Google
>>>> Groups "symfony users" group.
>>>> To post to this group, send email to symfony-users@googlegroups.com
>>>> To unsubscribe from this group, send email to
>>>> symfony-users+unsubscr...@googlegroups.com
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/symfony-users?hl=en
>>>>
>>>
>>>  --
>>> If you want to report a vulnerability issue on symfony, please send it to
>>> security at symfony-project.com
>>>
>>> You received this message because you are subscribed to the Google
>>> Groups "symfony users" group.
>>> To post to this group, send email to symfony-users@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> symfony-users+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/symfony-users?hl=en
>>>
>>
>>  --
>> If you want to report a vulnerability issue on symfony, please send it to
>> security at symfony-project.com
>>
>> You received this message because you are subscribed to the Google
>> Groups "symfony users" group.
>> To post to this group, send email to symfony-users@googlegroups.com
>> To unsubscribe from this group, send email to
>> symfony-users+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/symfony-users?hl=en
>>
>
>  --
> If you want to report a vulnerability issue on symfony, please send it to
> security at symfony-project.com
>
> You received this message because you are subscribed to the Google
> Groups "symfony users" group.
> To post to this group, send email to symfony-users@googlegroups.com
> To unsubscribe from this group, send email to
> symfony-users+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/symfony-users?hl=en
>

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to