Package com.esri.gpt.framework.security.identity

Source Code of com.esri.gpt.framework.security.identity.IdentityConfiguration

/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.esri.gpt.framework.security.identity;

import com.esri.gpt.framework.context.Configuration;
import com.esri.gpt.framework.security.identity.ldap.LdapConfiguration;
import com.esri.gpt.framework.security.identity.local.SimpleIdentityConfiguration;
import com.esri.gpt.framework.security.identity.open.OpenProvider;
import com.esri.gpt.framework.security.identity.open.OpenProviders;
import com.esri.gpt.framework.security.principal.Groups;
import com.esri.gpt.framework.security.principal.Roles;
import com.esri.gpt.framework.security.principal.UserAttributeMap;
import com.esri.gpt.framework.util.Val;

/**
* Identity management configuration information.
*/
public class IdentityConfiguration extends Configuration {

// instance variables ==========================================================
private String                      _adapterClassName = "";
private String                      _catalogAdminDN = "";
private Roles                       _configuredRoles;
private String                      _encKey = "";
private LdapConfiguration           _ldapConfiguration;
private Groups                      _metadataManagementGroups;
private String                      _name;
private OpenProviders               _openProviders = new OpenProviders();
private String                      _realm;
private SimpleIdentityConfiguration _simpleConfiguration;
private SingleSignOnMechanism       _ssoMechanism;
private IdentitySupport             _supportedFunctions;
private UserAttributeMap            _userAttributeMap;

/** Default constructor. */
public IdentityConfiguration() {
  setUserAttributeMap(new UserAttributeMap());
  setConfiguredRoles(new Roles());
  setSupportedFunctions(new IdentitySupport());
  setLdapConfiguration(new LdapConfiguration(this));
  setMetadataManagementGroups(new Groups());
  setSimpleConfiguration(new SimpleIdentityConfiguration(this));
  setSingleSignOnMechanism(new SingleSignOnMechanism());
}

// properties ==================================================================
/**
* Gets the adapter class name.
* @return the adapter class name
*/
public String getAdapterClassName() {
  return _adapterClassName;
}

/**
* Sets the adapter class name.
* @param adapterClassName the adapter class name
*/
public void setAdapterClassName(String adapterClassName) {
  _adapterClassName = Val.chkStr(adapterClassName);
}

/**
* Gets the distinguished name for the catalog administration account.
* @return the distinguished name
*/
public String getCatalogAdminDN() {
  return _catalogAdminDN;
}

/**
* Sets the distinguished name for the catalog administration account.
* @param dn the distinguished name
*/
public void setCatalogAdminDN(String dn) {
  _catalogAdminDN = Val.chkStr(dn);
}

/**
* Gets the configured roles for the application.
* @return the configured roles
*/
public Roles getConfiguredRoles() {
  return _configuredRoles;
}

/**
* Sets the LDAP configuration.
* @param roles the configured roles
*/
protected void setConfiguredRoles(Roles roles) {
  _configuredRoles = roles;
}

/**
* Gets encryption key.
* @return encryption key
*/
public String getEncKey() {
  return _encKey;
}
/**
* Sets encryption key.
* @param encKey encryption key
*/
public void setEncKey(String encKey) {
  _encKey = Val.chkStr(encKey);
}

/**
* Gets the LDAP configuration.
* @return the configuration
*/
public LdapConfiguration getLdapConfiguration() {
  return _ldapConfiguration;
}

/**
* Sets the LDAP configuration.
* @param configuration the configuration
*/
private void setLdapConfiguration(LdapConfiguration configuration) {
  _ldapConfiguration = configuration;
}

/**
* Gets the configured metadata management groups for the application.
* @return the configured metadata management groups
*/
public Groups getMetadataManagementGroups() {
  return _metadataManagementGroups;
}
/**
* Sets the configured metadata management groups for the application.
* @param groups the configured metadata management groups
*/
protected void setMetadataManagementGroups(Groups groups) {
  _metadataManagementGroups = groups;
}

/**
* Gets the name associated with this configuration.
* @return the name
*/
public String getName() {
  return _name;
}
/**
* Sets the name associated with this configuration.
* @param name the name
*/
public void setName(String name) {
  _name = Val.chkStr(name);
}

/**
* Gets the configured Openid or oAuth providers.
* @return the open providers
*/
public OpenProviders getOpenProviders() {
  return _openProviders;
}
/**
* Sets the configured Openid or oAuth providers.
* @param providers the open providers
*/
public void setOpenProviders(OpenProviders providers) {
  _openProviders = providers;
}

/**
* Gets the realm (used as an identifier during HTTP 401 credential challenge/response).
* @return the realm
*/
public String getRealm() {
  return _realm;
}
/**
* Sets the realm (used as an identifier during HTTP 401 credential challenge/response).
* @param realm the realm
*/
public void setRealm(String realm) {
  _realm = Val.chkStr(realm);
}

/**
* Gets the simple identity configuration.
* <br/>For a simple installation of one known user (the administrator).
* @return the configuration
*/
public SimpleIdentityConfiguration getSimpleConfiguration() {
  return _simpleConfiguration;
}

/**
* Sets the simple configuration.
* <br/>For a simple installation of one known user (the administrator).
* @param configuration the configuration
*/
private void setSimpleConfiguration(SimpleIdentityConfiguration configuration) {
  _simpleConfiguration = configuration;
}

/**
* Gets the single sign-on mechanism.
* @return the single sign-on mechanism
*/
public SingleSignOnMechanism getSingleSignOnMechanism() {
  return _ssoMechanism;
}

/**
* Sets the single sign-on mechanism
* @param mechanism the single sign-on mechanism
*/
private void setSingleSignOnMechanism(SingleSignOnMechanism mechanism) {
  _ssoMechanism = mechanism;
}

/**
* Gets the supported functions.
* @return the supported functions
*/
public IdentitySupport getSupportedFunctions() {
  return _supportedFunctions;
}

/**
* Sets the supported functions.
* @param support the supported functions
*/
private void setSupportedFunctions(IdentitySupport support) {
  _supportedFunctions = support;
}

/**
* Gets the configured user attribute map.
* @return the configured user attribute map
*/
public UserAttributeMap getUserAttributeMap() {
  return _userAttributeMap;
}

/**
* Sets the configured user attribute map.
* @param map the configured user attribute map
*/
private void setUserAttributeMap(UserAttributeMap map) {
  _userAttributeMap = map;
}

// methods =====================================================================

/**
* Returns the string representation of the object.
* @return the string
*/
@Override
public String toString() {
  StringBuffer sb = new StringBuffer(getClass().getName()).append(" (\n");
  sb.append(" name=\"").append(getName()).append("\"\n");
  sb.append(" adapterClassName=\"").append(getAdapterClassName()).append("\"\n");
  sb.append(" catalogAminDN=").append(getCatalogAdminDN()).append("\n");
  sb.append(getConfiguredRoles()).append("\n");
  sb.append(getSingleSignOnMechanism()).append("\n");
  sb.append(getSupportedFunctions()).append("\n")
  if (getAdapterClassName().endsWith("SimpleIdentityAdapter")) {
    sb.append(getSimpleConfiguration()).append("\n");
  } else {
    sb.append(getLdapConfiguration()).append("\n");
    sb.append("metadataManagementGroups ").append(getMetadataManagementGroups()).append("\n");
  }
  if ((this.getOpenProviders() != null) && (this.getOpenProviders().size() > 0)) {
    for (OpenProvider op: this.getOpenProviders().values()) {
      sb.append(op).append("\n");
    }
  }
  sb.append(") ===== end ").append(getClass().getName());
  return sb.toString();
}
}
TOP

Related Classes of com.esri.gpt.framework.security.identity.IdentityConfiguration

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.