package org.jenkinsci.plugins.authorizeproject;

import hudson.Extension;
import hudson.model.Job;
import hudson.model.Queue;
import jenkins.security.QueueItemAuthenticator;
import jenkins.security.QueueItemAuthenticatorDescriptor;
import org.acegisecurity.Authentication;
import org.jenkinsci.plugins.authorizeproject.strategy.SystemAuthorizationStrategy;
import org.kohsuke.stapler.DataBoundConstructor;

/**
 * A global default authenticator to allow changing the default for all projects.
 *
 * @since 1.1.1
 */
public class GlobalQueueItemAuthenticator extends QueueItemAuthenticator {
    private final AuthorizeProjectStrategy strategy;

    @DataBoundConstructor
    public GlobalQueueItemAuthenticator(AuthorizeProjectStrategy defaultStrategy) {
        this.strategy = defaultStrategy;
    }

    public AuthorizeProjectStrategy getStrategy() {
        return strategy;
    }

    @Override
    public Authentication authenticate(Queue.Item item) {
        return item.task instanceof Job ? strategy.authenticate((Job<?, ?>) item.task, item) : null;
    }

    @Extension
    public static class DescriptorImpl extends QueueItemAuthenticatorDescriptor {
        /**
         * {@inheritDoc}
         */
        @Override
        public String getDisplayName() {
            return Messages.GlobalQueueItemAuthenticator_DisplayName();
        }

        public AuthorizeProjectStrategy getDefaultStrategy() {
            return new SystemAuthorizationStrategy();
        }
    }

}

@@ -321,22 +321,25 @@
 trategy.
-System
+Anonymous
 Authoriz
@@ -732,24 +732,17 @@
 trategy 
-defaultS
+s
 trategy)
@@ -772,16 +772,9 @@
 y = 
-defaultS
+s
 trat
@@ -955,16 +955,36 @@
   return
+ strategy != null &&
  item.ta
@@ -1447,14 +1447,17 @@
 new 
-System
+Anonymous
 Auth
@@ -1487,17 +1487,16 @@
       %7D%0A
+
     %7D%0A
-%0A
 %7D%0A

Fix form binding and change default to anonymous