Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-3981

Case insensitive external auth systems cause problems, should be reported/avoided better

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Low
    • 4.0.0
    • 2.7.11
    • None

    Description

      If a user logs in with a username containing upper case characters, but the external auth system is case independent, they may get an error like:

      com.cenqua.fisheye.rep.DbException: User named "djdch" already exists.
      at com.cenqua.fisheye.user.DefaultUserManager$19.write(DefaultUserManager.java:1251)
      at com.cenqua.fisheye.user.DefaultUserManager$19.write(DefaultUserManager.java:1245)
      at com.cenqua.fisheye.config.DB0Handle.write(DB0Handle.java:96)
      at com.cenqua.fisheye.user.DefaultUserManager.addUserImpl(DefaultUserManager.java:1245)
      at com.cenqua.fisheye.user.DefaultUserManager.importUser(DefaultUserManager.java:634)
      at com.cenqua.fisheye.user.DefaultUserManager.getOrImportUser(DefaultUserManager.java:614)
      at com.cenqua.fisheye.user.DefaultUserManager.loginWithSanitizedUserName(DefaultUserManager.java:432)
      at com.cenqua.fisheye.user.DefaultUserManager.login(DefaultUserManager.java:407)
      at sun.reflect.GeneratedMethodAccessor412.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
      at $Proxy40.login(Unknown Source)
      at com.cenqua.fisheye.web.LoginServlet.login(LoginServlet.java:108)

      when they login.

      This is because the initial check to see if the user exists uses the mixed case name, and FeCru is case sensitive, but the name used to create the user is that returned by the external auth, which is mapped to lower case.

      We should always use the name provided by the user to create the local user, not the name returned by the external auth system, or should always map user names to lower case when external auth is used (which would probably not be backward compatible).

      Attachments

        Activity

          People

            Unassigned Unassigned
            tom@atlassian.com Tom Davies
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: