Are there any good examples of a main class extending Plugin and having a 
descriptor that works that you can refer me to? I have tried looking, and 
haven’t seen anything yet; I’ve tried what I can think of based on the what I 
have been able to see, and all I ever get when trying to load the configuration 
page is “java.lang.IllegalStateException: class 
jenkins.model.GlobalPluginConfiguration doesn't have the 
doFillPrincipalFormatItems method for filling a drop-down list”, the same thing 
I was getting when I didn’t have any sort of Descriptor.

What I currently have:
public class PluginImpl extends Plugin implements Describable<PluginImpl> {
  ... all other necessary functions...
  
   @Override
  public final Descriptor<PluginImpl> getDescriptor() {
    return descriptor;
  }
  
  private static final PluginImplDescriptor descriptor = new 
PluginImplDescriptor();
  
  public static final class PluginImplDescriptor extends Descriptor<PluginImpl> 
{
    public PluginImplDescriptor() {
      super(self());
    }
    
    @Override
       public String getDisplayName() {
         return “”;
       }
       
       public ListBoxModel doFillPluginImplFieldNameItems() {
          return new ListBoxModel() {contents...};
       }
  }
}

Thank you again,

Bryson

From: Robert Sandell 
Sent: Monday, November 24, 2014 1:53 AM
To: [email protected] 
Subject: Re: New SSO plugin for Jenkins on Windows, based on KerberosSSO, using 
Waffle...

We needed to do advertise headers in order for CLI to work. 

doFillxyzItems should be declared in the descriptor and replace xyz with the 
name of the field, the f:select tag takes care of the data binding.

On Mon, Nov 24, 2014 at 7:41 AM, Bryson Gibbons <[email protected]> wrote:

  Well, I found one possible way around the licensing issues: if I extend the 
Windows authentication implementation that Waffle uses with the 
NegotiateSecurityFilter, I can override the necessary functions so that they 
call the original function, and then call an additional function to provide 
authentication information to Jenkins. I can set the NegotiateSecurityFilter to 
use the extended class. Also, I extended the NegotiateSecurityFilter class 
specifically to call the advertiseHeaders function, but I don't know if that is 
really necessary.

  Besides that, I am trying to figure out the process in the groovy file to 
show a select box to the user in the configuration, since there are two 
configurable properties that deal with how the user information is handled in 
Waffle. I just haven't figured out how to have the groovy script look in the 
right spot for the "doFillxyzItems()" function, or where the function is 
supposed to be to be discovered.

  On a quick side note, I wonder if this might be part of the problem with 
using Kerberos SSO plugin on Windows.

  Thank you for any help,

  Bryson 


  On Saturday, November 15, 2014 1:09:18 PM UTC-8, Bryson Gibbons wrote: 
    A few ideas that I haven't been able to fully look into:
    If I can implement an "IAuthWindowsProvider" that provides the necessary 
functionality (tying into an existing security realm), could that allow this to 
be released under the MIT license, provided I do not just copy the provided 
implementation and add the necessary code (since the EPL license allows 
distribution of the program, if it is not distributed in source code format)? 
My understanding of that clause is that as long as I am only using the 
"binary", and have not copied code from Waffle, it can be released under a 
license other than the EPL.

    Also, I do wonder if this might be better situated (outside of the 
licensing issues) as part of the Active Directory plugin, since it already has 
a configuration that is only usable on Windows, with an alternate configuration 
allowing it to be used on Linux. There are also active Jira tickets concerning 
the desire to allow single sign on with the Active Directory plugin.

    Anyway, I would like to get rid of the copy of the class from Waffle, since 
the changes I made involved adding a function to trigger the Jenkins 
authentication, as well as modifying the logging calls since Waffle uses a 
different logger. I would prefer to have a more abstract implementation that 
will be easier to maintain and extend, rather than what I currently have. 
Waffle is also designed to do full authentication by itself, so it may be 
better if I changed to implementation to be a security plugin (and that may 
remove all licensing issues, if I could have Waffle function as the security 
provider... but I don't even know where to start).


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

  To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/ea3fb967-3993-4434-beeb-d64eba474867%40googlegroups.com.
 

  For more options, visit https://groups.google.com/d/optout.





-- 

Robert Sandell 
Software Engineer
CloudBees Inc.
-- 
You received this message because you are subscribed to a topic in the Google 
Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit 
https://groups.google.com/d/topic/jenkinsci-dev/ywCwlY569dI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 
[email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS35Buq26gsHp3rPx8ir7ChLq3bV4PBN0VL11S0NMNXYDw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/B664635968C741C696D9CFF7BFD1A635%40HAFBeast.
For more options, visit https://groups.google.com/d/optout.

Reply via email to