On Fri, Mar 15, 2013 at 10:57 AM, Vincent Massol <[email protected]> wrote:

>
> 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…
>

It was, but I was not aware that workspace may need (to be confirmed) that
special unsupported case.
I am just saying that while I would like the new module as a default, this
does not prevent a user to use the old one until we properly support that
particular feature.


>
> 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
>



-- 
Denis Gervalle
SOFTEC sa - CEO
eGuilde sarl - CTO
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to