Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-410

Revise SecurityRealm getUserPrincipals/getGroupPrincipals

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0-M2
    • Fix Version/s: 1.0-M4
    • Component/s: security
    • Labels:
      None

      Description

      A security realm may provide any principal types it likes – it does need need to use "users" and "groups". What is the meaning of getUserPrincipal or getGroupPrincipal for a realm that provides principals of type "favorite color" or "country" or "automobile" or something else? Also, not all security realms will be able to accomodate generalized regular expressions (it doesn't map well to SQL, for example, though Oracle 10g has some features along those lines).

      What would be really helpful would be for each realm to provide a list of the principal classes it provides, and then a list of available principal names for each class. This would let a deploy tool present a drop-down of principal classes, and then once selected, a drop-down of avaialble principals for role mapping. I suggest something like:

      /**

      • Gets the principal classes used by this realm
        */
        public String[] getPrincipalClassNames();

      /**

      • Gets the names of all the principals in the specified
      • principal class. Should return null if the list of
      • principals is not available, or is too large to reasonably
      • present to a deployer in a pick list.
        */
        public String[] getPrincipalNames(String className);

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              ammulder Aaron Mulder
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: