A {@code SubjectDAO} is responsible for persisting a Subject instance's internal state such that the Subject instancecan be recreated at a later time if necessary.
Shiro's default {@code SecurityManager} implementations typically use a {@code SubjectDAO} in conjunctionwith a {@link SubjectFactory}: after the {@code SubjectFactory} creates a {@code Subject} instance, the{@code SubjectDAO} is used to persist that subject's state such that it can be accessed later if necessary.
Usage
It should be noted that this component is used by {@code SecurityManager} implementations to manage Subjectstate persistence. It does
not make Subject instances accessible to the application (e.g. via {@link org.apache.shiro.SecurityUtils#getSubject() SecurityUtils.getSubject()}).
@see DefaultSubjectDAO
@since 1.2