001/*
002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *
009 * Contributors:
010 *     Nuxeo - initial API and implementation
011 *
012 * $Id$
013 */
014
015package org.nuxeo.ecm.core.api.security;
016
017import org.nuxeo.runtime.api.login.LoginComponent;
018
019/**
020 * @author Bogdan Stefanescu
021 */
022// TODO: make it a constant utility class instead of an interface.
023public interface SecurityConstants {
024
025    static final String SYSTEM_USERNAME = LoginComponent.SYSTEM_USERNAME;
026
027    /**
028     * @deprecated administrator user names are configurable on user manager
029     */
030    @Deprecated
031    static final String ADMINISTRATOR = "Administrator";
032
033    /**
034     * @deprecated anonymous user name is configurable on user manager
035     */
036    @Deprecated
037    static final String ANONYMOUS = "anonymous";
038
039    /**
040     * @deprecated administrators groups are configurable on user manager
041     */
042    @Deprecated
043    static final String ADMINISTRATORS = "administrators";
044
045    /**
046     * @deprecated default group is configurable on user manager
047     */
048    @Deprecated
049    static final String MEMBERS = "members";
050
051    static final String EVERYONE = "Everyone";
052
053    static final String EVERYTHING = "Everything";
054
055    static final String RESTRICTED_READ = "RestrictedRead";
056
057    static final String READ = "Read";
058
059    static final String WRITE = "Write";
060
061    static final String READ_WRITE = "ReadWrite";
062
063    static final String REMOVE = "Remove";
064
065    static final String VERSION = "Version";
066
067    static final String READ_VERSION = "ReadVersion";
068
069    static final String WRITE_VERSION = "WriteVersion";
070
071    static final String BROWSE = "Browse";
072
073    static final String WRITE_SECURITY = "WriteSecurity";
074
075    static final String READ_SECURITY = "ReadSecurity";
076
077    static final String READ_PROPERTIES = "ReadProperties";
078
079    static final String WRITE_PROPERTIES = "WriteProperties";
080
081    static final String READ_CHILDREN = "ReadChildren";
082
083    static final String ADD_CHILDREN = "AddChildren";
084
085    static final String REMOVE_CHILDREN = "RemoveChildren";
086
087    static final String READ_LIFE_CYCLE = "ReadLifeCycle";
088
089    static final String WRITE_LIFE_CYCLE = "WriteLifeCycle";
090
091    static final String MANAGE_WORKFLOWS = "ManageWorkflows";
092
093    static final String VIEW_WORKLFOW = "ReviewParticipant";
094
095    static final String UNLOCK = "Unlock";
096
097    /**
098     * Flag that can be used as principal to mark an unsupported ACL.
099     */
100    static final String UNSUPPORTED_ACL = "_UNSUPPORTED_ACL_";
101
102}