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 );
+
 }


Reply via email to