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

Implement caching of data to the IdentityManagementService implementation

    Details

    • Type: Task Task
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 1.0
    • Component/s: Development
    • Labels:
      None
    • Similar issues:
      KULRICE-2385Implement caching on the IdentityManagementService - Phase 2
      KULRICE-2384Implement caching on the IdentityManagementService - Phase 1
      KULRICE-3007Implement caching in the RiceApplicationConfigurationMediationServiceImpl
      KULRICE-2198Wire up IdentityManagementService to IdentityService and GroupService
      KULRICE-7258Implement caching on ExtensionRepositoryService
      KULRICE-5318move IdentityManagementService interface/impl to client-contrib
      KULRICE-3006Implement Parameter caching in the ParameterProxyService
      KULRICE-2452Implement cluster-aware caching on KNS System Parameters
      KULRICE-5319Implement caching on remote soap services
      KULRICE-8327Implement caching for Message Service
    • Rice Module:
      KIM
    • Application Requirement:
      KFS, Rice

      Description

      The IdentityManagementService will be implemented locally by KIM clients. This service will provide a single point of contact to the 4 main KIM services (Identity/Group/Authentication/Authorization)

      Since those services could be remote, this interface's base implementation will cache data retrieved from the four services.

      This implementation should be configurable with a max storage time for data from each service. (A zero indicating not to cache at all.)
      The caches should also have a configurable maximum size and use WeakReferences to hold the objects, so that the VM can trash them if it needs the memory.

      No periodic scan is necessary to purge the cache. The age check can be performed upon retrieval. The caches may need to be keyed in a couple different ways, depending on the object.

      Examples of items to be cached:

      Entity data / based on principal
      Entity group lists
      Entity Role lists
      Principal permissions?
      Results of permission checks? - parameters would be complex, - not sure how to

        Activity

        Hide
        Jonathan Keller added a comment -

        cache by parameters passed that is - a specific permission check for BL-PSY

        Show
        Jonathan Keller added a comment - cache by parameters passed that is - a specific permission check for BL-PSY
        Hide
        Jonathan Keller added a comment -

        would also need methods to flush the cache

        Show
        Jonathan Keller added a comment - would also need methods to flush the cache
        Hide
        Eric Westfall added a comment -

        Bulk change of all Rice 1.0 issues to closed after public release.

        Show
        Eric Westfall added a comment - Bulk change of all Rice 1.0 issues to closed after public release.

          People

          • Assignee:
            Nate Johnson (Inactive)
            Reporter:
            Jonathan Keller
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Structure Helper Panel