Hi Ian,

Ian Simpson wrote (13.06.2012 17:42):
Ah, the ACL thing does help; I'll have to mess around with that a little.
Glad this helped ;O)

The problem with revoking the create permission is that calling
Hudson.getInstance().createProject() started failing after the upgrade
to Jenkins, whereas it worked with Hudson.
Ah, that's explainable:

Hudson, up to version 1.394, checked for proper permissions when receiving the HTTP request from the browser (see the "doXXX" methods in the Hudson class) and then redirected to an internal method that actually performed the hard work. This internal method did not check for permissions again. As your plugin called that internal method (here: Hudson.getInstance().createProject()) directly, this did not require any permissions at all.

Starting from Hudson 1.395, the permission checking was moved from the HTTP request receiving method to the internal method. So from this version, proper permissions are required when calling this internal method - even when called directly from your plugin.

Cheers,
Simon.

Reply via email to