Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2557

Provide a more general purpose Authenticator as an alternative to having to route through Shiro.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.0-M5
    • 2.0.0-M6
    • None
    • None

    Description

      HMM... one caveat. to the stuff below - AuthentiationManager applies an OR logic to all Authenticators, so only one needs to recognise the request, whereas we probably want an AND logic for the secman Authenticator (in addition to whatever the primary authenticator is).  I suppose the workaround is to write a custom Authenticator that would be configured first and apply AND semantics, but that is hacky.

       ~~~~~~~~~

      Shiro can have multiple realms that contribute to the principal/subject representing the end user
       
      So the secman realm is (a) authenticating that the user exists in the database and (b) gathering up the permissions of that user in some form so that shiro's authorizor can determine if the user has access to a feature.
       
      We can break out these two responsibilities, though
       
      First, for authentication - making sure that a user exists in the secman database - we could provide an implementation of Isis' own Authenticator (eg AuthenticatorSecMan) that just queries the ApplicationUserRepository.  (That's because the AuthenticationManager class asks all known Authenticators if an authentication request is valid.)
       
      Second, for authorisation - well, Andi wrote that already, I think.
       
       

      Attachments

        Issue Links

          Activity

            People

              danhaywood Daniel Keir Haywood
              danhaywood Daniel Keir Haywood
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: