You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/09/13 19:08:13 UTC

svn commit: r443027 - /maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/MavenUserDetailsService.java

Author: carlos
Date: Wed Sep 13 10:08:13 2006
New Revision: 443027

URL: http://svn.apache.org/viewvc?view=rev&rev=443027
Log:
Move daysBeforeExpiration to UserSecurityPolicy

Modified:
    maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/MavenUserDetailsService.java

Modified: maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/MavenUserDetailsService.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/MavenUserDetailsService.java?view=diff&rev=443027&r1=443026&r2=443027
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/MavenUserDetailsService.java (original)
+++ maven/shared/trunk/maven-user/maven-user-acegi/src/main/java/org/apache/maven/user/acegi/MavenUserDetailsService.java Wed Sep 13 10:08:13 2006
@@ -30,12 +30,13 @@
 import org.apache.maven.user.model.Permission;
 import org.apache.maven.user.model.User;
 import org.apache.maven.user.model.UserManager;
+import org.apache.maven.user.model.UserSecurityPolicy;
 import org.springframework.dao.DataAccessException;
 
 /**
  * Acegi {@link UserDetailsService} that loads user info from Maven {@link UserManager}.
  *
- * @plexus.component role="org.acegisecurity.userdetails.UserDetailsService" role-hint="maven"
+ * @plexus.component role="org.acegisecurity.userdetails.UserDetailsService"
  * 
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @author Henry Isidro
@@ -52,9 +53,19 @@
     private UserManager userManager;
 
     /**
-     * @plexus.configuration default-value="60"
+     * @plexus.requirement
      */
-    private int daysBeforeExpiration;
+    private UserSecurityPolicy securityPolicy;
+
+    public void setSecurityPolicy( UserSecurityPolicy securityPolicy )
+    {
+        this.securityPolicy = securityPolicy;
+    }
+
+    public UserSecurityPolicy getSecurityPolicy()
+    {
+        return securityPolicy;
+    }
 
     public UserDetails loadUserByUsername( String username )
         throws UsernameNotFoundException, DataAccessException
@@ -102,11 +113,12 @@
         boolean accountNonLocked = !user.isLocked();
         boolean credentialsNonExpired = true;
 
-        if ( user.getLastPasswordChange() != null && daysBeforeExpiration > 0 )
+        if ( user.getLastPasswordChange() != null && getSecurityPolicy().getDaysBeforeExpiration() > 0 )
         {
             long lastPasswordChange = user.getLastPasswordChange().getTime();
             long currentTime = new Date().getTime();
-            credentialsNonExpired = lastPasswordChange + daysBeforeExpiration * MILLISECONDS_PER_DAY > currentTime;
+            credentialsNonExpired = lastPasswordChange + getSecurityPolicy().getDaysBeforeExpiration()
+                * MILLISECONDS_PER_DAY > currentTime;
         }
 
         UserDetails userDetails = new org.acegisecurity.userdetails.User( username, password, enabled,
@@ -114,10 +126,5 @@
                                                                           accountNonLocked, grantedAuthoritiesAsArray );
 
         return userDetails;
-    }
-
-    protected void setDaysBeforeExpiration( int daysBeforeExpiration )
-    {
-        this.daysBeforeExpiration = daysBeforeExpiration;
     }
 }