]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/jcr/JcrUserDetails.java
1 package org
.argeo
.security
.jcr
;
3 import java
.util
.ArrayList
;
6 import org
.springframework
.security
.GrantedAuthority
;
7 import org
.springframework
.security
.GrantedAuthorityImpl
;
8 import org
.springframework
.security
.userdetails
.User
;
10 public class JcrUserDetails
extends User
{
11 private static final long serialVersionUID
= -3594542993773402380L;
12 private final String homePath
;
14 public JcrUserDetails(String homePath
, String username
, String password
,
15 boolean enabled
, boolean accountNonExpired
,
16 boolean credentialsNonExpired
, boolean accountNonLocked
,
17 GrantedAuthority
[] authorities
) throws IllegalArgumentException
{
18 super(username
, password
, enabled
, accountNonExpired
,
19 credentialsNonExpired
, accountNonLocked
, authorities
);
20 this.homePath
= homePath
;
23 public String
getHomePath() {
27 public JcrUserDetails
cloneWithNewRoles(List
<String
> roles
) {
28 List
<GrantedAuthority
> authorities
= new ArrayList
<GrantedAuthority
>();
29 for (String role
: roles
) {
30 authorities
.add(new GrantedAuthorityImpl(role
));
32 return new JcrUserDetails(homePath
, getUsername(), getPassword(),
33 isEnabled(), isAccountNonExpired(), isAccountNonExpired(),
35 authorities
.toArray(new GrantedAuthority
[authorities
.size()]));
38 public JcrUserDetails
cloneWithNewPassword(String password
) {
39 return new JcrUserDetails(homePath
, getUsername(), password
,
40 isEnabled(), isAccountNonExpired(), isAccountNonExpired(),
41 isAccountNonLocked(), getAuthorities());