1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.mgt;
20
21 import org.apache.shiro.session.Session;
22 import org.apache.shiro.subject.PrincipalCollection;
23 import org.apache.shiro.subject.Subject;
24 import org.apache.shiro.subject.SubjectContext;
25 import org.apache.shiro.subject.support.DelegatingSubject;
26
27
28
29
30
31
32
33
34 public class DefaultSubjectFactory implements SubjectFactory {
35
36 public DefaultSubjectFactory() {
37 }
38
39 public Subject createSubject(SubjectContext context) {
40 SecurityManager securityManager = context.resolveSecurityManager();
41 Session session = context.resolveSession();
42 boolean sessionCreationEnabled = context.isSessionCreationEnabled();
43 PrincipalCollection principals = context.resolvePrincipals();
44 boolean authenticated = context.resolveAuthenticated();
45 String host = context.resolveHost();
46
47 return new DelegatingSubject(principals, authenticated, host, session, sessionCreationEnabled, securityManager);
48 }
49
50
51
52
53
54 @Deprecated
55 protected Subject newSubjectInstance(PrincipalCollection principals, boolean authenticated, String host,
56 Session session, SecurityManager securityManager) {
57 return new DelegatingSubject(principals, authenticated, host, session, true, securityManager);
58 }
59
60 }