All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hudson.security.FullControlOnceLoggedInAuthorizationStrategy Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 *
 * Copyright (c) 2004-2009 Oracle Corporation.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * 
*    Kohsuke Kawaguchi, Seiji Sogabe
 *
 *
 *******************************************************************************/ 

package hudson.security;

import hudson.model.Descriptor;
import hudson.model.Hudson;
import hudson.Extension;

import java.util.Collections;
import java.util.List;

import net.sf.json.JSONObject;

import org.kohsuke.stapler.StaplerRequest;

/**
 * {@link AuthorizationStrategy} that grants full-control to authenticated user
 * (other than anonymous users.)
 *
 * @author Kohsuke Kawaguchi
 */
public class FullControlOnceLoggedInAuthorizationStrategy extends AuthorizationStrategy {

    @Override
    public ACL getRootACL() {
        return THE_ACL;
    }

    public List getGroups() {
        return Collections.emptyList();
    }
    private static final SparseACL THE_ACL = new SparseACL(null);

    static {
        THE_ACL.add(ACL.EVERYONE, Hudson.ADMINISTER, true);
        THE_ACL.add(ACL.ANONYMOUS, Hudson.ADMINISTER, false);
        THE_ACL.add(ACL.ANONYMOUS, Permission.READ, true);
    }
    @Extension
    public static final Descriptor DESCRIPTOR = new Descriptor() {
        public String getDisplayName() {
            return Messages.FullControlOnceLoggedInAuthorizationStrategy_DisplayName();
        }

        @Override
        public AuthorizationStrategy newInstance(StaplerRequest req, JSONObject formData) throws FormException {
            return new FullControlOnceLoggedInAuthorizationStrategy();
        }

        @Override
        public String getHelpFile() {
            return "/help/security/full-control-once-logged-in.html";
        }
    };
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy