Forgot password should either be disabled or fail with an explicit message when LDAP is read-only

XMLWordPrintable

    • Type: Suggestion
    • Resolution: Duplicate
    • None
    • Component/s: None
    • Environment:
      Confluence configured as such:
      - LDAP in read-only mode
      - External user managment off

      When trying to reset the password in such configuration a "System Error" occurs as below:

      java.lang.UnsupportedOperationException: Cannot write to read-only UserManager [ldapRepository] java.lang.UnsupportedOperationException: Cannot write to read-only UserManager [ldapRepository]
      at com.atlassian.user.impl.ReadOnlyUserManager.alterPassword(ReadOnlyUserManager.java:29)
      at com.atlassian.user.impl.cache.CachingUserManager.alterPassword(CachingUserManager.java:138)
      at com.atlassian.user.impl.delegation.DelegatingListUserManager.alterPassword(DelegatingListUserManager.java:127)
      at bucket.user.DefaultUserAccessor.alterPassword(DefaultUserAccessor.java:695)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:61)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:116)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)
      at $Proxy11.alterPassword(Unknown Source)
      at com.atlassian.confluence.user.actions.ForgotUserPasswordAction.execute(ForgotUserPasswordAction.java:49)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
      at com.atlassian.confluence.core.ConfluenceWorkflowInterceptor.intercept(ConfluenceWorkflowInterceptor.java:39)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      ...

              Assignee:
              Unassigned
              Reporter:
              Samuel Le Berrigaud
              Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: