Uploaded image for project: 'Shiro'
  1. Shiro
  2. SHIRO-162

Create SessionContext to mirror SubjectContext concept for starting new sessions

    XMLWordPrintableJSON

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0
    • Fix Version/s: 1.0.0
    • Component/s: Session Management
    • Labels:
      None

      Description

      SubjectContext was created to provide type-safe data resolution when creating new Subject instances. The SessionManager.start(Map) method serves the same exact purpose, but for Session creation. The SessionManager.start method argument should reflect the same architectural principal of the SubjectContext.

      There are a number of 'hacky' bits of code in the framework because of this - such as using static Map key constants in implementation classes from other implementation classes. Also, the biggest thing might be that AbstractShiroFilter resorts to preemptively binding the SecurityManager, ServletRequest and ServletResponse to the ThreadContext because it can NOT just perform a simple subject.execute() invocation to execute the filter chain. This all stems from a lack of SessionContext to use when starting sessions. This should be part of 1.0 to 1) remove the hacks and 2) employ a consistent API for instance creation.

        Attachments

          Activity

            People

            • Assignee:
              lhazlewood Les Hazlewood
              Reporter:
              lhazlewood Les Hazlewood
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: