You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shiro.apache.org by "Les Hazlewood (JIRA)" <ji...@apache.org> on 2011/06/27 01:23:48 UTC

[jira] [Issue Comment Edited] (SHIRO-266) Login/Logout: Enable pluggable Subject state binding

    [ https://issues.apache.org/jira/browse/SHIRO-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055230#comment-13055230 ] 

Les Hazlewood edited comment on SHIRO-266 at 6/26/11 11:23 PM:
---------------------------------------------------------------

Initial implementation complete.  Introduced new concepts (all in the org.apache.shiro.mgt package):

- SubjectDAO interface and default DefaultSubjectDAO implementation.  
- The DefaultSubjectDAO implementation uses a SessionStateEvaluator (an interface) that allows control of session usage on a per-subject basis.  
- The DefaultSessionStateEvaluator allows session control for all Subjects at a global level.

Custom per-Subject logic may be performed by end users implementing the SessionStateEvaluator interface and configuring it on the DefaultSubjectDAO.  No subclassing of an existing Shiro implementation required.

- The DefaultSubjectDAO implementation uses efficient 'merge' logic for persisting data to the session - a session is only ever updated if there is a difference in subject state.

      was (Author: lhazlewood):
    Initial implementation complete.  Introduced new concepts (all in the org.apache.shiro.mgt package):

- SubjectDAO interface and default DefaultSubjectDAO implementation.  
- The DefaultSubjectDAO implementation uses a SessionStateEvaluator (an interface) that allows control of session usage on a per-subject basis.  
- The DefaultSessionStateEvaluator allows session control for all Subjects at a global level.

Custom per-session logic may be performed by end-users implementing the SessionStateEvaluator interface and configuring it on the DefaultSubjectDAO.  No subclassing of an existing Shiro implementation required.

- The DefaultSubjectDAO implementation uses efficient 'merge' logic for persisting data to the session - a session is only ever updated if there is a difference in subject state.
  
> Login/Logout: Enable pluggable Subject state binding
> ----------------------------------------------------
>
>                 Key: SHIRO-266
>                 URL: https://issues.apache.org/jira/browse/SHIRO-266
>             Project: Shiro
>          Issue Type: Improvement
>          Components: Session Management, Subject
>    Affects Versions: 1.0.0, 1.1.0, 1.1.1
>            Reporter: Les Hazlewood
>            Assignee: Les Hazlewood
>             Fix For: 1.2.0
>
>
> After login, a subject's state (principals, authentication state, etc) are bound to the Subject's session.  This allows Shiro to reconstruct the Subject instance later on by acquiring a Session (e.g. by id) and reconstructing the Subject based on the Session's state.
> In stateless environments (e.g. some REST-enabled applications), it is not desirable to create a session.  There should be a pluggable component that performs state binding and unbinding for subject login and logout, respectively.  Stateless applications can choose to configure Shiro with a stateless binder if they don't want sessions to be created.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira