Having said that. Apparently this technique doesn't work when doing HTTP
requests. It still complaints about no user rights to access this page when
accessing the plugin endpoint. I guess I would need to rewrite the plugin
to use the earlier discussed UnprotectedRootAction to make this work.
On Saturday, April 13, 2013 8:50:26 AM UTC+2, Jean Mertz wrote:
>
> Thank you for your help. Turns out I missed the most important part of the
> examples where this technique was used, which is; the need to upgrade to a
> specific version of jenkins-plugin to support ALC.impersonate. This
> change made everything work correctly:
>
> <parent>
> <groupId>org.jenkins-ci.plugins</groupId>
> <artifactId>plugin</artifactId>- <version>1.424</version>+
> <version>1.461</version>
> </parent>
>
>
> On Friday, April 12, 2013 9:48:13 PM UTC+2, Jesse Glick wrote:
>>
>> On 04/12/2013 01:02 AM, Jean Mertz wrote:
>> > I could either use a block or two arguments
>>
>> Recent versions of Jenkins support passing a Runnable block, which is not
>> what your initial attempt was. But for compatibility with versions in
>> common use you probably
>> cannot use this overload yet. Anyway it is not suitable for a block which
>> needs to return a value, as yours does.
>>
>> > The second style I implemented like this:
>> >
>> > SecurityContext securityContext = ACL.impersonate(ACL.SYSTEM);
>> > try {
>> > return factory.getImage(project.getIconColor());
>> > }finally {
>> > SecurityContextHolder.setContext(securityContext);
>> > }
>>
>> Looks right.
>>
>> > cannot find symbol
>> > symbol : method impersonate(org.acegisecurity.Authentication)
>>
>> Problem in your development environment perhaps? Lots of code uses this
>> idiom, as you can find by searching.
>>
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.