Java Code Examples for javax.naming.directory.DirContext#removeFromEnvironment()

The following examples show how to use javax.naming.directory.DirContext#removeFromEnvironment() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JNDIRealm.java    From Tomcat8-Source-Read with MIT License 6 votes vote down vote up
/**
 * Configure the context to use {@link #connectionName} and
 * {@link #connectionPassword} if specified or an anonymous connection if
 * those attributes are not specified.
 *
  * @param context      DirContext to configure
  * @exception NamingException if a directory server error occurs
 */
private void userCredentialsRemove(DirContext context)
        throws NamingException {
    // Restore the original security environment
    if (connectionName != null) {
        context.addToEnvironment(Context.SECURITY_PRINCIPAL,
                                 connectionName);
    } else {
        context.removeFromEnvironment(Context.SECURITY_PRINCIPAL);
    }

    if (connectionPassword != null) {
        context.addToEnvironment(Context.SECURITY_CREDENTIALS,
                                 connectionPassword);
    }
    else {
        context.removeFromEnvironment(Context.SECURITY_CREDENTIALS);
    }
}
 
Example 2
Source File: JNDIRealm.java    From Tomcat7.0.67 with Apache License 2.0 6 votes vote down vote up
/**
 * Configure the context to use {@link #connectionName} and
 * {@link #connectionPassword} if specified or an anonymous connection if
 * those attributes are not specified.
 * 
  * @param context      DirContext to configure
 */
private void userCredentialsRemove(DirContext context)
        throws NamingException {
    // Restore the original security environment
    if (connectionName != null) {
        context.addToEnvironment(Context.SECURITY_PRINCIPAL,
                                 connectionName);
    } else {
        context.removeFromEnvironment(Context.SECURITY_PRINCIPAL);
    }

    if (connectionPassword != null) {
        context.addToEnvironment(Context.SECURITY_CREDENTIALS,
                                 connectionPassword);
    }
    else {
        context.removeFromEnvironment(Context.SECURITY_CREDENTIALS);
    }
}
 
Example 3
Source File: JNDIRealm.java    From tomcatsrc with Apache License 2.0 6 votes vote down vote up
/**
 * Configure the context to use {@link #connectionName} and
 * {@link #connectionPassword} if specified or an anonymous connection if
 * those attributes are not specified.
 * 
  * @param context      DirContext to configure
 */
private void userCredentialsRemove(DirContext context)
        throws NamingException {
    // Restore the original security environment
    if (connectionName != null) {
        context.addToEnvironment(Context.SECURITY_PRINCIPAL,
                                 connectionName);
    } else {
        context.removeFromEnvironment(Context.SECURITY_PRINCIPAL);
    }

    if (connectionPassword != null) {
        context.addToEnvironment(Context.SECURITY_CREDENTIALS,
                                 connectionPassword);
    }
    else {
        context.removeFromEnvironment(Context.SECURITY_CREDENTIALS);
    }
}
 
Example 4
Source File: JNDIRealm.java    From Tomcat8-Source-Read with MIT License 5 votes vote down vote up
private void restoreEnvironmentParameter(DirContext context,
        String parameterName, Hashtable<?, ?> preservedEnvironment) {
    try {
        context.removeFromEnvironment(parameterName);
        if (preservedEnvironment != null && preservedEnvironment.containsKey(parameterName)) {
            context.addToEnvironment(parameterName,
                    preservedEnvironment.get(parameterName));
        }
    } catch (NamingException e) {
        // Ignore
    }
}
 
Example 5
Source File: JNDIRealm.java    From Tomcat7.0.67 with Apache License 2.0 5 votes vote down vote up
private void restoreEnvironmentParameter(DirContext context,
        String parameterName, Hashtable<?, ?> preservedEnvironment) {
    try {
        context.removeFromEnvironment(parameterName);
        if (preservedEnvironment != null && preservedEnvironment.containsKey(parameterName)) {
            context.addToEnvironment(parameterName,
                    preservedEnvironment.get(parameterName));
        }
    } catch (NamingException e) {
        // Ignore
    }
}
 
Example 6
Source File: JNDIRealm.java    From tomcatsrc with Apache License 2.0 5 votes vote down vote up
private void restoreEnvironmentParameter(DirContext context,
        String parameterName, Hashtable<?, ?> preservedEnvironment) {
    try {
        context.removeFromEnvironment(parameterName);
        if (preservedEnvironment != null && preservedEnvironment.containsKey(parameterName)) {
            context.addToEnvironment(parameterName,
                    preservedEnvironment.get(parameterName));
        }
    } catch (NamingException e) {
        // Ignore
    }
}
 
Example 7
Source File: LDAPLoginModule.java    From activemq-artemis with Apache License 2.0 5 votes vote down vote up
protected boolean bindUser(DirContext context, String dn, String password) throws NamingException {
   boolean isValid = false;

   if (logger.isDebugEnabled()) {
      logger.debug("Binding the user.");
   }
   context.addToEnvironment(Context.SECURITY_PRINCIPAL, dn);
   context.addToEnvironment(Context.SECURITY_CREDENTIALS, password);
   try {
      context.getAttributes("", null);
      isValid = true;
      if (logger.isDebugEnabled()) {
         logger.debug("User " + dn + " successfully bound.");
      }
   } catch (AuthenticationException e) {
      isValid = false;
      if (logger.isDebugEnabled()) {
         logger.debug("Authentication failed for dn=" + dn);
      }
   }

   if (isLoginPropertySet(CONNECTION_USERNAME)) {
      context.addToEnvironment(Context.SECURITY_PRINCIPAL, getLDAPPropertyValue(CONNECTION_USERNAME));
   } else {
      context.removeFromEnvironment(Context.SECURITY_PRINCIPAL);
   }
   if (isLoginPropertySet(CONNECTION_PASSWORD)) {
      context.addToEnvironment(Context.SECURITY_CREDENTIALS, getPlainPassword(getLDAPPropertyValue(CONNECTION_PASSWORD)));
   } else {
      context.removeFromEnvironment(Context.SECURITY_CREDENTIALS);
   }

   return isValid;
}
 
Example 8
Source File: LdifScript.java    From scriptella-etl with Apache License 2.0 5 votes vote down vote up
/**
 * Adds/modifies ctx using entry information.
 *
 * @param ctx directory context to use for change.
 * @param e   entry with change description.
 * @throws NamingException if operation with directory failed.
 */
static void modify(DirContext ctx, final Entry e) throws NamingException {
    if (LOG.isLoggable(Level.FINE)) {
        LOG.fine("Processing " + e);
    }
    Attributes atts = e.getAttributes();
    final String rootDn = ctx.getNameInNamespace();
    if (atts != null) { //If add entry
        ctx.createSubcontext(getRelativeDN(rootDn, e.getDn()), e.getAttributes());
    } else if (e.isChangeDelete()) {
        ctx.destroySubcontext(getRelativeDN(rootDn, e.getDn()));
    } else if (e.isChangeModDn() || e.isChangeModRdn()) {
        Name newRdn;
        if (e.getNewSuperior() != null) { //If new superior
            newRdn = getRelativeDN(rootDn, e.getNewSuperior());
        } else { //otherwise use DN as a base
            newRdn = getRelativeDN(rootDn, e.getDn());
            newRdn.remove(newRdn.size() - 1);
        }
        newRdn.add(e.getNewRdn());
        ctx.addToEnvironment("java.naming.ldap.deleteRDN", String.valueOf(e.isDeleteOldRdn()));
        ctx.rename(getRelativeDN(rootDn, e.getDn()), newRdn);
        ctx.removeFromEnvironment("java.naming.ldap.deleteRDN");//a better solution to use the previous value

    } else {
        List<ModificationItem> items = e.getModificationItems();
        ctx.modifyAttributes(getRelativeDN(rootDn, e.getDn()),
                items.toArray(new ModificationItem[items.size()]));
    }
}