Trying to store a custom attribute against an LDAP directory throws an ERROR in the logs

XMLWordPrintable

    • Type: Suggestion
    • Resolution: Unresolved
    • None
    • Component/s: None
    • None
    • 23

      the LDAP directory has this method:

      @Override
          public void storeUserAttributes(final String username, final Map<String, Set<String>> attributes) throws UserNotFoundException, OperationFailedException
          {
              throw new OperationNotSupportedException("Custom user attributes are not yet supported for LDAP directories");
          }
      
      

      This bubbles up to updateUserLastActivity in TokenAuthenticationManagerImpl where it's caught and results in:

      catch (OperationFailedException e)
              {
                  //This is indicative of a more serious error so receives a higher priority warning
                  logger.error("Operation to update last active for user '{}' failed", username, e);
              }
      
      

      This problem would be better logged as a warning and without the stack trace.

      Workaround:

      Remove the modify user attributes permission from your directory configuration.  If you are using the modify user attributes functionality, it is possible to suppress the messages in the logs by adding the following to your <crowd install>/crowd-webapp/WEB-INF/classes/log4j.properties file: 

      log4j.logger.com.atlassian.crowd.manager.token.RecoveryModeAwareTokenAuthenticationManager=FATAL
      
      
      

            Assignee:
            Unassigned
            Reporter:
            lachland (Inactive)
            Votes:
            6 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: