Adding global user id
diff --git a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/user/LdapUser.java b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/user/LdapUser.java
index 1965ca3..8ecb1a6 100644
--- a/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/user/LdapUser.java
+++ b/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/user/LdapUser.java
@@ -259,4 +259,10 @@
{
this.dn = dn;
}
+
+ @Override
+ public String getId( )
+ {
+ return userManagerId + ":" + dn;
+ }
}
diff --git a/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java b/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
index 392e906..dec23b6 100644
--- a/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
+++ b/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
@@ -38,6 +38,17 @@
// --------------------------------------------------------------------
/**
+ * This should return a global user id. Global user ids are built
+ * <code>MANAGER_ID:USER_IDENTIFIER</code>
+ * User identifier must not be the username but must be unique, e.g. for LDAP it may be the DN.
+ * @return
+ */
+ default String getId() {
+ return getUserManagerId( ) + ":" + getUsername( );
+ }
+
+
+ /**
* Gets the User Name for this user.
*
* This field is required, and should never be empty.
@@ -298,6 +309,6 @@
* @return userManager id
*/
String getUserManagerId();
-
+
}
diff --git a/redback-users/redback-users-providers/redback-users-memory/src/main/java/org/apache/archiva/redback/users/memory/SimpleUser.java b/redback-users/redback-users-providers/redback-users-memory/src/main/java/org/apache/archiva/redback/users/memory/SimpleUser.java
index 2ced415..3bd0710 100644
--- a/redback-users/redback-users-providers/redback-users-memory/src/main/java/org/apache/archiva/redback/users/memory/SimpleUser.java
+++ b/redback-users/redback-users-providers/redback-users-memory/src/main/java/org/apache/archiva/redback/users/memory/SimpleUser.java
@@ -67,51 +67,61 @@
// no op
}
+ @Override
public void addPreviousEncodedPassword( String encodedPassword )
{
getPreviousEncodedPasswords().add( encodedPassword );
}
+ @Override
public Date getAccountCreationDate()
{
return accountCreationDate;
}
+ @Override
public int getCountFailedLoginAttempts()
{
return countFailedLoginAttempts;
}
+ @Override
public String getEmail()
{
return email;
}
+ @Override
public String getEncodedPassword()
{
return encodedPassword;
}
+ @Override
public String getFullName()
{
return fullName;
}
+ @Override
public Date getLastLoginDate()
{
return lastLoginDate;
}
+ @Override
public Date getLastPasswordChange()
{
return lastPasswordChange;
}
+ @Override
public String getPassword()
{
return password;
}
+ @Override
public List<String> getPreviousEncodedPasswords()
{
if ( previousEncodedPasswords == null )
@@ -121,103 +131,124 @@
return previousEncodedPasswords;
}
+ @Override
public String getUsername()
{
return username;
}
+ @Override
public boolean isLocked()
{
return locked;
}
+ @Override
public void setAccountCreationDate( Date accountCreationDate )
{
this.accountCreationDate = accountCreationDate;
}
+ @Override
public void setCountFailedLoginAttempts( int countFailedLoginAttempts )
{
this.countFailedLoginAttempts = countFailedLoginAttempts;
}
+ @Override
public void setEmail( String email )
{
this.email = email;
}
+ @Override
public void setEncodedPassword( String encodedPassword )
{
this.encodedPassword = encodedPassword;
}
+ @Override
public void setFullName( String fullName )
{
this.fullName = fullName;
}
+ @Override
public void setLastLoginDate( Date lastLoginDate )
{
this.lastLoginDate = lastLoginDate;
}
+ @Override
public void setLastPasswordChange( Date lastPasswordChange )
{
this.lastPasswordChange = lastPasswordChange;
}
+ @Override
public void setLocked( boolean locked )
{
this.locked = locked;
}
+ @Override
public void setPassword( String password )
{
this.password = password;
}
+ @Override
public void setPreviousEncodedPasswords( List<String> previousEncodedPasswords )
{
this.previousEncodedPasswords = previousEncodedPasswords;
}
+ @Override
public void setUsername( String username )
{
this.username = username;
}
+ @Override
public boolean isPasswordChangeRequired()
{
return passwordChangeRequired;
}
+ @Override
public void setPasswordChangeRequired( boolean passwordChangeRequired )
{
this.passwordChangeRequired = passwordChangeRequired;
}
+ @Override
public boolean isPermanent()
{
return permanent;
}
+ @Override
public void setPermanent( boolean permanent )
{
this.permanent = permanent;
}
+ @Override
public boolean isValidated()
{
return validated;
}
+ @Override
public void setValidated( boolean validated )
{
this.validated = validated;
}
+ @Override
public String getUserManagerId()
{
return "simple";
}
+
}