Spring Security
  1. Spring Security
  2. SEC-1184

Reorganize org.springframework.security.acls.jdbc Package

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Won't Fix
    • Affects Version/s: 3.0.0 M1
    • Fix Version/s: 3.0.0 RC1
    • Component/s: None
    • Labels:
      None

      Description

      After looking through the org.springframework.security.acls.jdbc package, it appears the classes and interfaces could be reorganized/renamed to improve extensability.

      1) Other lookup mechanisms (AWS SimpleDB) could take advantage of the AclCache interface, the LookupStrategy interface, and the EhCacheBasedAclCache class.
      2) BasicLookupStrategy should be renamed to BasicJdbcAclLookupStrategy
      3) Other than the findChildren(...) method in JdbcAclService, there is nothing explicitly tied to JDBC. This other methods in this class should be promoted to a non-jdbc abstract class.

        Activity

        Hide
        Luke Taylor added a comment -

        I think there is an argument for reuse of the cache interface and implementation so I've moved these out of the jdbc package.

        I'm not convinced about the rest though. There isn't much to JdbcAclService apart from the findChildren method so I don't think the additional complexity of introducing an inheritance tree there is justified and LookupStrategy is really just a method from the AclService interface. I'd prefer to keep these classes as the default Jdbc implementation of the AclService, without them being regarded as a solid API, as they may also change in future. The standard approach would be to implement AclService directly.

        Show
        Luke Taylor added a comment - I think there is an argument for reuse of the cache interface and implementation so I've moved these out of the jdbc package. I'm not convinced about the rest though. There isn't much to JdbcAclService apart from the findChildren method so I don't think the additional complexity of introducing an inheritance tree there is justified and LookupStrategy is really just a method from the AclService interface. I'd prefer to keep these classes as the default Jdbc implementation of the AclService, without them being regarded as a solid API, as they may also change in future. The standard approach would be to implement AclService directly.

          People

          • Assignee:
            Luke Taylor
            Reporter:
            Nick Padgett
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: