Author: olamy
Date: Fri Nov 23 09:28:48 2012
New Revision: 1412793
URL: http://svn.apache.org/viewvc?rev=1412793&view=rev
Log:
[MRM-1708] When using LDAP, users can still edit their details upon login.
Modified:
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/User.java
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/DefaultSecuritySystem.java
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/SecuritySystem.java
archiva/redback/redback-core/trunk/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
Modified:
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/User.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/User.java?rev=1412793&r1=1412792&r2=1412793&view=diff
==============================================================================
---
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/User.java
(original)
+++
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/User.java
Fri Nov 23 09:28:48 2012
@@ -68,6 +68,12 @@ public class User
*/
private List<String> assignedRoles;
+ /**
+ * with some userManagerImpl it's not possible to edit users;
+ * @since 1.4-M4
+ */
+ private boolean readOnly;
+
public User()
{
// no op
@@ -239,6 +245,16 @@ public class User
this.assignedRoles = assignedRoles;
}
+ public boolean isReadOnly()
+ {
+ return readOnly;
+ }
+
+ public void setReadOnly( boolean readOnly )
+ {
+ this.readOnly = readOnly;
+ }
+
@Override
public String toString()
{
@@ -258,6 +274,7 @@ public class User
sb.append( ", timestampLastPasswordChange='" ).append(
timestampLastPasswordChange ).append( '\'' );
sb.append( ", previousPassword='" ).append( previousPassword ).append(
'\'' );
sb.append( ", assignedRoles=" ).append( assignedRoles );
+ sb.append( ", readOnly=" ).append( readOnly );
sb.append( '}' );
return sb.toString();
}
Modified:
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java?rev=1412793&r1=1412792&r2=1412793&view=diff
==============================================================================
---
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
(original)
+++
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
Fri Nov 23 09:28:48 2012
@@ -140,7 +140,7 @@ public class DefaultLoginService
return null;
}
User restUser = buildRestUser( user );
-
+ restUser.setReadOnly( securitySystem.userManagerReadOnly() );
// here create an http session
httpAuthenticator.authenticate( authDataSource,
httpServletRequest.getSession( true ) );
return restUser;
Modified:
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/DefaultSecuritySystem.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/DefaultSecuritySystem.java?rev=1412793&r1=1412792&r2=1412793&view=diff
==============================================================================
---
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/DefaultSecuritySystem.java
(original)
+++
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/DefaultSecuritySystem.java
Fri Nov 23 09:28:48 2012
@@ -279,4 +279,9 @@ public class DefaultSecuritySystem
{
this.policy = policy;
}
+
+ public boolean userManagerReadOnly()
+ {
+ return userManager.isReadOnly();
+ }
}
Modified:
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/SecuritySystem.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/SecuritySystem.java?rev=1412793&r1=1412792&r2=1412793&view=diff
==============================================================================
---
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/SecuritySystem.java
(original)
+++
archiva/redback/redback-core/trunk/redback-system/src/main/java/org/apache/archiva/redback/system/SecuritySystem.java
Fri Nov 23 09:28:48 2012
@@ -94,5 +94,11 @@ public interface SecuritySystem
String getUserManagementId();
String getAuthenticatorId();
String getAuthorizerId();
+
+ /**
+ * @since 2.1
+ * @return is it possible to modify user datas (some userManager cannot
i.e ldap)
+ */
+ boolean userManagerReadOnly();
}
Modified:
archiva/redback/redback-core/trunk/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
URL:
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java?rev=1412793&r1=1412792&r2=1412793&view=diff
==============================================================================
---
archiva/redback/redback-core/trunk/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
(original)
+++
archiva/redback/redback-core/trunk/redback-users/redback-users-api/src/main/java/org/apache/archiva/redback/users/User.java
Fri Nov 23 09:28:48 2012
@@ -291,4 +291,5 @@ public interface User
* Sets the Last Successful Login Date for this account.
*/
void setLastLoginDate( Date date );
+
}