[xwiki-devs] [Proposal] Add authclass property to the XWikiPreferences class
Hi devs, I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.* Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user. Thanks, Alex
I really don't like that only one authenticator can be enabled at a time. This forces more specialized authenticators to explicitly inherit another type of authenticator that should also be supported (see for example NTLMAuthServiceImpl -> XWikiLDAPAuthServiceImpl -> XWikiAuthServiceImpl). Ideally, we should have only one root authenticator, which shouldn't be configurable at all, and which doesn't authenticate itself but delegates to a dynamic list of pluggable authenticators. But this would take a lot longer to design and implement, so I'm just going to vote +0 for your incremental improvement proposal. On 10/21/2016 02:57 AM, Alexandru Cotiuga wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex
-- Sergiu Dumitriu http://purl.org/net/sergiu/
Note there there is a big different between XWikiPreferences page and xwiki.cfg: each wiki has its own. So do you plan to refactor the auth system to let each wiki have a different authenticator ? Or is the main wiki the only one that will be taken into account ? On Fri, Oct 21, 2016 at 8:57 AM, Alexandru Cotiuga <[email protected]> wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Since the xwiki.cfg allows the same for all the wikis, I was thinking for now to keep the same behaviour but with XWikiPreference so this would mean that the main wiki will be the only one taken into account. On Fri, Oct 21, 2016 at 10:39 AM, Thomas Mortagne <[email protected]
wrote:
Note there there is a big different between XWikiPreferences page and xwiki.cfg: each wiki has its own.
So do you plan to refactor the auth system to let each wiki have a different authenticator ? Or is the main wiki the only one that will be taken into account ?
On Fri, Oct 21, 2016 at 8:57 AM, Alexandru Cotiuga <[email protected]> wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
I never liked authclass property but what we should have in it's place require major refactoring and your proposal is not worst than the current situation so I'm fine with it. +0 On Fri, Oct 21, 2016 at 9:59 AM, Alexandru Cotiuga <[email protected]> wrote:
Since the xwiki.cfg allows the same for all the wikis, I was thinking for now to keep the same behaviour but with XWikiPreference so this would mean that the main wiki will be the only one taken into account.
On Fri, Oct 21, 2016 at 10:39 AM, Thomas Mortagne <[email protected]
wrote:
Note there there is a big different between XWikiPreferences page and xwiki.cfg: each wiki has its own.
So do you plan to refactor the auth system to let each wiki have a different authenticator ? Or is the main wiki the only one that will be taken into account ?
On Fri, Oct 21, 2016 at 8:57 AM, Alexandru Cotiuga <[email protected]> wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
Note that you will need to refactor a bit XWiki#getAuthService() if you want to change the authenticator at runtime because right now it's initialized once the first time it's called (i.e. need to reset it when the authClass field is modified). On Fri, Oct 21, 2016 at 10:04 AM, Thomas Mortagne <[email protected]> wrote:
I never liked authclass property but what we should have in it's place require major refactoring and your proposal is not worst than the current situation so I'm fine with it. +0
On Fri, Oct 21, 2016 at 9:59 AM, Alexandru Cotiuga <[email protected]> wrote:
Since the xwiki.cfg allows the same for all the wikis, I was thinking for now to keep the same behaviour but with XWikiPreference so this would mean that the main wiki will be the only one taken into account.
On Fri, Oct 21, 2016 at 10:39 AM, Thomas Mortagne <[email protected]
wrote:
Note there there is a big different between XWikiPreferences page and xwiki.cfg: each wiki has its own.
So do you plan to refactor the auth system to let each wiki have a different authenticator ? Or is the main wiki the only one that will be taken into account ?
On Fri, Oct 21, 2016 at 8:57 AM, Alexandru Cotiuga <[email protected]> wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Thomas Mortagne
-- Thomas Mortagne
Hi, My POV: * We should do what Alex suggests now so that we can have this ASAP. Note It would be nice to have in 8.4 since I’d like that some LDAP extension be able to change the authservice to use dynamically when it’s installed using the EM. * Future: we should refactor the authentication subsystem and use components and hints, and do as Sergiu suggested, i.e. use a chaining of authenticator component hints. Implementation idea: * Modify XWiki.getEvents() and onEvent() to handle the modification of the “authclass” xproperty and to set “this.authService” in the XWiki class to the new instance. Thanks -Vincent
On 21 Oct 2016, at 08:57, Alexandru Cotiuga <[email protected]> wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex
On 02 Nov 2016, at 17:19, Vincent Massol <[email protected]> wrote:
Hi,
My POV:
* We should do what Alex suggests now so that we can have this ASAP. Note It would be nice to have in 8.4 since I’d like that some LDAP extension be able to change the authservice to use dynamically when it’s installed using the EM. * Future: we should refactor the authentication subsystem and use components and hints, and do as Sergiu suggested, i.e. use a chaining of authenticator component hints.
BTW on the future, I just saw that Thomas started a page: http://design.xwiki.org/xwiki/bin/view/Design/NewAuthenticationArchitecture Thanks -Vincent
Implementation idea: * Modify XWiki.getEvents() and onEvent() to handle the modification of the “authclass” xproperty and to set “this.authService” in the XWiki class to the new instance.
Thanks -Vincent
On 21 Oct 2016, at 08:57, Alexandru Cotiuga <[email protected]> wrote:
Hi devs,
I'm proposing to add this new property to the *XWikiPreferences* class since there are many authenticators, listed on http://platform.xwiki.org/xwiki/bin/view/Features/Authentication and most of them require the overriding of the *xwiki.authentication.authclass* property in the *WEB-INF/xwiki.cfg* file and the restart of the wiki. So the *authclass* is meant to keep the value of the *xwiki.authentication.authclass *property*.*
Please keep in mind that *xwiki.cfg* was the historical file containing the configuration options, we're moving away from it and this can be the moment to improve this functionality by removing the *restart wiki* step which is often a pain for the user.
Thanks, Alex
participants (4)
-
Alexandru Cotiuga -
Sergiu Dumitriu -
Thomas Mortagne -
Vincent Massol