Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-4283

IdentityServiceImpl methods convert principal name to lower case before going to the persistence layer but Person maintenance allows upper case principal names.

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.2.1, KC Release 3.0
    • Fix Version/s: 1.0.3
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-2996Allow for kim principal names to be case insensitive without requring principal name to be stored all lowercase in KRIM_PRNCPL_T
      KULRICE-7060KIM Person Maintenance screen allows a new user to be created with mixed-case or uppercase letters in Principal Name field
      KULRICE-6687Person lookup isn't case-insensitive in Rice 2.0
      KULRICE-4533KIM allows usernames to be entered with mixed case, but the IdentityService searches in lowercase so user can't login
      KULRICE-6556Rice Dev: Principal ID search on Person lookup is case sensitive
      KULRICE-7566Should consider if a principal should be allowed to have a null principal name
      KULRICE-4019allow header block to show initiator person name instead of principal name
      KULRICE-4213Allow principal names in Kim screens instead of only principal Ids
      KULRICE-4594specifying the "Lock Owner Principal Name:" incorrectly displays an error message
      KULRICE-3448Fix principal Ids in KREN tables
    • Rice Module:
      KIM
    • Application Requirement:
      KC

      Description

      The KIM IdentityServiceImpl methods (ex: getPrincipalByPrincipalName) convert the passed in principal name to lower case before calling BOService. The KIM screens however, allow adding principals with mixedcase letters. This is partially because there isn't consistent validation for the UI but also the UIDocumentService uses BOService to save the Principal object rather than going to another service which would consistently handle the toLowering of the principal name. At the very least the user should be presented with a warning stating that all principal names will be converted to lower case.

      This means that you can create a user successfully but will not be able to login with that user. This example was tested in KC using the org.kuali.rice.kew.web.DummyLoginFilter

      Not sure if we want to allow mixed case principal names or not. I don't think we have any specific requirements for this.

        Issue Links

          Activity

          Hide
          Aaron Hamid (Inactive) added a comment -

          We ran into this with our upgrade. We provision principals on-demand and ended up provisioning duplicate entries because of case mismatch. We decided to lowercase ids coming from our source system, but clarification on this would be appreciated.

          Show
          Aaron Hamid (Inactive) added a comment - We ran into this with our upgrade. We provision principals on-demand and ended up provisioning duplicate entries because of case mismatch. We decided to lowercase ids coming from our source system, but clarification on this would be appreciated.
          Hide
          Travis Schneeberger added a comment -

          Also, whatever way we go, the handling of the principal names needs to be documented on the service interfaces.

          Show
          Travis Schneeberger added a comment - Also, whatever way we go, the handling of the principal names needs to be documented on the service interfaces.
          Hide
          Jeremy Hanson added a comment -

          Dan, when you are back in the office, can you determine what needs to be done for this?

          Thanks.

          Show
          Jeremy Hanson added a comment - Dan, when you are back in the office, can you determine what needs to be done for this? Thanks.
          Hide
          Daniel Seibert (Inactive) added a comment -

          Modified to enforce lower case principal names in both the KimPrinicpalImpl and IdentityManagmentPersonDocument.
          A a result, there is a KIM Create Person UI screen behavior change. If you enter a mixed case principal name, it will be changed to lower case, once assignments are made lower in the page
          For example, the principal name text box value will change to lower case when an affiliation or contact assignment is added while filling out the form.

          Show
          Daniel Seibert (Inactive) added a comment - Modified to enforce lower case principal names in both the KimPrinicpalImpl and IdentityManagmentPersonDocument. A a result, there is a KIM Create Person UI screen behavior change. If you enter a mixed case principal name, it will be changed to lower case, once assignments are made lower in the page For example, the principal name text box value will change to lower case when an affiliation or contact assignment is added while filling out the form.
          Hide
          Travis Schneeberger added a comment -

          Daniel, is this the correct solution or should rice support mixed case principal names in general?

          Show
          Travis Schneeberger added a comment - Daniel, is this the correct solution or should rice support mixed case principal names in general?
          Hide
          Daniel Seibert (Inactive) added a comment -

          This seems like the option with the least amount of complications. I think that allowing mixed case principal names would result in a lot of unintended duplicates. Are there cases where one might intentionally want identical principal names except for the case to be separate entities? Comparing inputs ignoring case would lessen compatibility issues with clients that send mixed case.

          Show
          Daniel Seibert (Inactive) added a comment - This seems like the option with the least amount of complications. I think that allowing mixed case principal names would result in a lot of unintended duplicates. Are there cases where one might intentionally want identical principal names except for the case to be separate entities? Comparing inputs ignoring case would lessen compatibility issues with clients that send mixed case.
          Hide
          Jeremy Hanson added a comment -

          I think we decided a while back that the principal names should all be forced to lower case out-of-the-box. See KULRICE-2996

          Show
          Jeremy Hanson added a comment - I think we decided a while back that the principal names should all be forced to lower case out-of-the-box. See KULRICE-2996
          Hide
          Travis Schneeberger added a comment -

          Since the rice team has already done the analysis on principal names I think your solution is fine. There is no need in going over the same things again. Thanks a lot Daniel, Jeremy!

          Show
          Travis Schneeberger added a comment - Since the rice team has already done the analysis on principal names I think your solution is fine. There is no need in going over the same things again. Thanks a lot Daniel, Jeremy!

            People

            • Assignee:
              Daniel Seibert (Inactive)
              Reporter:
              Travis Schneeberger
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 3 days
                3d
                Remaining:
                Remaining Estimate - 3 days
                3d
                Logged:
                Time Spent - Not Specified
                Not Specified

                  Structure Helper Panel