1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.jaas.spi;
20
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.List;
24
25 import org.eclipse.jetty.util.security.Credential;
26
27
28
29
30
31
32
33
34
35 public class UserInfo
36 {
37
38 private String _userName;
39 private Credential _credential;
40 protected List<String> _roleNames = new ArrayList<>();
41 protected boolean _rolesLoaded = false;
42
43
44
45
46
47
48
49 public UserInfo (String userName, Credential credential, List<String> roleNames)
50 {
51 _userName = userName;
52 _credential = credential;
53 if (roleNames != null)
54 {
55 synchronized (_roleNames)
56 {
57 _roleNames.addAll(roleNames);
58 _rolesLoaded = true;
59 }
60 }
61 }
62
63
64
65
66
67
68 public UserInfo (String userName, Credential credential)
69 {
70 this (userName, credential, null);
71 }
72
73
74
75
76
77
78
79
80
81
82 public List<String> doFetchRoles ()
83 throws Exception
84 {
85 return Collections.emptyList();
86 }
87
88 public void fetchRoles () throws Exception
89 {
90 synchronized (_roleNames)
91 {
92 if (!_rolesLoaded)
93 {
94 _roleNames.addAll(doFetchRoles());
95 _rolesLoaded = true;
96 }
97 }
98 }
99
100 public String getUserName()
101 {
102 return this._userName;
103 }
104
105 public List<String> getRoleNames ()
106 {
107 return Collections.unmodifiableList(_roleNames);
108 }
109
110 public boolean checkCredential (Object suppliedCredential)
111 {
112 return _credential.check(suppliedCredential);
113 }
114
115 protected Credential getCredential ()
116 {
117 return _credential;
118 }
119
120 }