]> git.argeo.org Git - lgpl/argeo-commons.git/blob - NodeAuthenticationToken.java
17b1d48bca5cbf9dff35457f46115d84a7bfe24e
[lgpl/argeo-commons.git] / NodeAuthenticationToken.java
1 package org.argeo.security;
2
3 import org.springframework.security.GrantedAuthority;
4 import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
5
6 /** Credentials required for the authentication to a node. */
7 public class NodeAuthenticationToken extends
8 UsernamePasswordAuthenticationToken {
9 private static final long serialVersionUID = 1955222132884795213L;
10 private final String url;
11 private final String securityWorkspace;
12
13 /** Non authenticated local constructor */
14 public NodeAuthenticationToken(Object principal, Object credentials) {
15 super(principal, credentials);
16 this.url = null;
17 this.securityWorkspace = null;
18 }
19
20 /** Non authenticated remote constructor */
21 public NodeAuthenticationToken(Object principal, Object credentials,
22 String url, String workspace) {
23 super(principal, credentials);
24 this.url = url;
25 this.securityWorkspace = workspace;
26 }
27
28 /** Authenticated constructor */
29 public NodeAuthenticationToken(NodeAuthenticationToken sat,
30 GrantedAuthority[] authorities) {
31 super(sat.getPrincipal(), sat.getCredentials(), authorities);
32 this.url = sat.getUrl();
33 this.securityWorkspace = sat.getSecurityWorkspace();
34 }
35
36 public String getUrl() {
37 return url;
38 }
39
40 public String getSecurityWorkspace() {
41 return securityWorkspace;
42 }
43
44 public Boolean isRemote() {
45 return url != null;
46 }
47 }