On Mar 15, 2013, at 10:50 AM, Denis Gervalle <[email protected]> wrote:

> On Fri, Mar 15, 2013 at 10:47 AM, Vincent Massol <[email protected]> wrote:
> 
>> 
>> On Mar 15, 2013, at 10:33 AM, Denis Gervalle <[email protected]> wrote:
>> 
>>> On Fri, Mar 15, 2013 at 3:12 AM, Ludovic Dubost <[email protected]>
>> wrote:
>>> 
>>>> 2013/3/14 Denis Gervalle <[email protected]>
>>>> 
>>>>> On Thu, Mar 14, 2013 at 11:12 PM, Jerome Velociter <
>> [email protected]
>>>>>> wrote:
>>>>> 
>>>>>> Hi Denis,
>>>>>> 
>>>>>> Le 14/03/13 22:59, Denis Gervalle a écrit :
>>>>>> 
>>>>>> On Thu, Mar 14, 2013 at 9:20 PM, Denis Gervalle <[email protected]>
>>>> wrote:
>>>>>>> 
>>>>>>> Hi devs,
>>>>>>>> 
>>>>>>>> We have a new (component based) authorization module since a while
>>>> now,
>>>>>>>> and I think 5.0 is the perfect time to introduce it as the default
>>>>> right
>>>>>>>> service. First, I simply propose to change the default in xwiki.cfg:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>> 
>> xwiki.authentication.**rightsclass=org.xwiki.**security.authorization.**
>>>>>>>> internal.**XWikiCachingRightService
>>>>>>>> 
>>>>>>>> (Later, I propose that we deprecate that bridge and that we create a
>>>>>>>> friendly (xwiki oriented) interface over the more generic
>>>>>>>> org.xwiki.security.**authorization.**AuthorizationManager. But leave
>>>>>>>> this for a
>>>>>>>> later proposal.)
>>>>>>>> 
>>>>>>>> So this vote is about changing the default in xwiki.cfg before
>> 5.0M2.
>>>>>>>> 
>>>>>>>> pros:
>>>>>>>> - improved performance, since the new service is using caching
>>>>>>>> techniques
>>>>>>>> and a single page load required lots of calls to it.
>>>>>>>> - ability for extension to add new rights
>>>>>>>> - define right declaratively
>>>>>>>> - separate method for checking and verifying right (throws opposed
>>>> to
>>>>>>>> boolean return)
>>>>>>>> - fix some long waiting bugs like XWIKI-5174, XWIKI-6987, as well
>>>> as
>>>>>>>> some unstated ones
>>>>>>>> 
>>>>>>>> Also XWIKI-4550
>>>>>>> 
>>>>>>>  - possibility to easily solve issues like XWIKI-4491
>>>>>>>> - no more admin right per default
>>>>>>>> - being in good position to improve it and release dependencies to
>>>>>>>> oldcore for security matters.
>>>>>>>> - possibility for third party to adapt the right settler to their
>>>>>>>> special
>>>>>>>> needs (right decision is plugable)
>>>>>>>> - a consistant right evaluation with very few exception that could
>>>> be
>>>>>>>> explained and documented
>>>>>>>> 
>>>>>>>> cons:
>>>>>>>> - no more admin right per default, but since we have DW, the
>>>> initial
>>>>>>>> setup is no more a problem, and advanced users may use superadmin.
>>>>>>>> - groups are only checked from the user wiki, not from the accessed
>>>>>>>> entity wiki.
>>>>>>>> 
>>>>>>> 
>>>>>> This sound like a big regression.
>>>>>> 
>>>>>> Can you explicit more ? Does this mean that adding a global (main
>> wiki)
>>>>>> user in a local group has no effect ?
>>>>>> 
>>>>> 
>>>>> You have got it right. This could be improved, and help is welcome.
>> What
>>>>> happen is that the user groups are evaluated independently to the
>>>> targeted
>>>>> entity, and therefore only in the user wiki.
>>>>> 
>>>>> I admit this is a regression, but I have not cross lots of use case
>> like
>>>>> those. The simple display in admin of Global user in local Group is
>> even
>>>>> broken (double xwiki:xwiki:...) so this does not seems to me a common
>>>>> usage.
>>>>> You may provide access to global group in a local wiki to achieve the
>>>> same
>>>>> goals.
>>>>> 
>>>>> 
>>>> This looks to be indeed a big regression. It's quite a common use case
>> to
>>>> have only global users and to create groups in the local wiki that
>> refer to
>>>> local users.
>>>> 
>>> ^^^^^^^^
>>> I suppose you means global users here.
>>> 
>>> IMHO, having user managed by a separate entity (global admin), and these
>>> same individual users grouped by another one (local admin) is very
>> uncommon
>>> delegation of authority to me (but I may be wrong). On the other hand,
>>> having a local admin providing access to local ressources to global group
>>> (and potentially some global users) makes more sense. In that way, the
>> same
>>> admin manage its users, and group its users, and the local admin trust
>> the
>>> global admin to know its users.
>>> 
>>> That said, I am not against any improvement on the way it works, if it
>> is a
>>> common use case (moreover used by workspace), we should obviously support
>>> it. However, I am convince that evaluating groups based on both the user
>>> and the targeted entity is not easily achievable and conduct to very
>>> complex partial caching.
>>> 
>>> I have currently not implemented in the security module anything that
>> would
>>> cause all wikis to be scanned, and I would really like to avoid that to
>>> happen. So, it will be difficult to avoid partial caching, but we need to
>>> limit that at the higher level, the subwiki. This would allow to had only
>>> scan both the wiki of the user and the target entry to consider our cache
>>> valid. It means subwiki will be unable to share groups (I do not think
>> this
>>> has ever worked), but it will keep performance on large farm.
>>> 
>>> This would really need to be fixed sooner than later otherwise I know
>>>> plenty of projects for which migration to 5.0 would be almost impossible
>>>> 
>>> 
>>> I will need helps to achieve that for 5.0
>> 
>> ok so before changing anything we need a plan i.e. someone volunteering to
>> work on this, right?
>> 
> 
> Do we really need that for 5.0 ?
> Using the new module as a default does not means the old right service is
> unavailable. Couldn't we simply define which case needs to revert to the
> old modules in the RN, and have 5.0 without this feature ? We may even
> release XEM without it if workspace need so.

I thought the config change you were proposing was global… I'm lost…

Thanks
-Vincent

> WDYT ?
> 
> 
>> 
>> Thanks
>> -Vincent
>> 
>>>> This would really need to be fixed sooner than later otherwise I know
>>>> plenty of projects for which migration to 5.0 would be almost impossible
>>>> 
>>>> I think even Workspaces is using that so XEM by default would fail with
>>>> this.
>>>> 
>>>> Ludovic
>>>> 
>>>>> 
>>>>>> 
>>>>>> Jérôme
>>>>>> 
>>>>>> 
>>>>>>  - may exhibit some other minor differences compare to existing
>>>>>>>> implementation (but mostly consistency fixes)
>>>>>>>> - test could be improved, critical part (right, settler, data
>>>>>>>> structure,
>>>>>>>> cache) are covered at almost 100%, api at 60%, this is probably
>>>> better
>>>>>>>> than the old right service
>>>>>>>> - documentation should be improved, but this is not worse than the
>>>>> old
>>>>>>>> one anyway
>>>>>>>> 
>>>>>>>> Since I use the new module in all my production servers for several
>>>>>>>> months
>>>>>>>> with success, and I really think that if we do not do it now we will
>>>>>>>> never
>>>>>>>> go ahead, here is my big +1
>>>>>>>> 
>>>>>>>> WDYT ?

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to