You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ca...@apache.org on 2006/09/06 01:05:47 UTC
svn commit: r440522 -
/maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/main/java/org/apache/maven/continuum/security/acegi/ContinuumUserDetailsService.java
Author: carlos
Date: Tue Sep 5 16:05:46 2006
New Revision: 440522
URL: http://svn.apache.org/viewvc?view=rev&rev=440522
Log:
Deprecate ContinuumUserDetailsService, use MavenUserDetailsService
Modified:
maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/main/java/org/apache/maven/continuum/security/acegi/ContinuumUserDetailsService.java
Modified: maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/main/java/org/apache/maven/continuum/security/acegi/ContinuumUserDetailsService.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/main/java/org/apache/maven/continuum/security/acegi/ContinuumUserDetailsService.java?view=diff&rev=440522&r1=440521&r2=440522
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/main/java/org/apache/maven/continuum/security/acegi/ContinuumUserDetailsService.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/main/java/org/apache/maven/continuum/security/acegi/ContinuumUserDetailsService.java Tue Sep 5 16:05:46 2006
@@ -17,114 +17,19 @@
*
*/
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
-import org.acegisecurity.GrantedAuthority;
-import org.acegisecurity.GrantedAuthorityImpl;
-import org.acegisecurity.userdetails.UserDetails;
import org.acegisecurity.userdetails.UserDetailsService;
-import org.acegisecurity.userdetails.UsernameNotFoundException;
-import org.apache.maven.continuum.model.system.Permission;
-import org.apache.maven.user.model.User;
-import org.apache.maven.user.model.UserManager;
-import org.springframework.dao.DataAccessException;
+import org.apache.maven.user.acegi.MavenUserDetailsService;
/**
* Acegi {@link UserDetailsService} that loads user info from Continuum database.
*
+ * @deprecated use {@link MavenUserDetailsService}
+ *
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
* @author Henry Isidro
* @version $Id$
*/
public class ContinuumUserDetailsService
- implements UserDetailsService
+ extends MavenUserDetailsService
{
- static final long MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000;
-
- /**
- * @plexus.requirement
- */
- private UserManager userManager;
-
- /**
- * @plexus.configuration default-value="60"
- */
- private int daysBeforeExpiration;
-
- public ContinuumUserDetailsService()
- {
- }
-
- public UserDetails loadUserByUsername( String username )
- throws UsernameNotFoundException, DataAccessException
- {
- User user = userManager.getUser( username );
-
- if ( user == null )
- {
- throw new UsernameNotFoundException( "Could not find user: " + username );
- }
- return getUserDetails( user );
- }
-
- /**
- * Convert a Continuum user into a Acegi user
- *
- * @param user the continuum user loaded from DB
- * @return the Acegi user
- */
- UserDetails getUserDetails( User user )
- {
- List permissions = user.getGroup().getPermissions();
-
- List grantedAuthorities = new ArrayList( permissions.size() + 1 );
- Iterator it = permissions.iterator();
- while ( it.hasNext() )
- {
- Permission permission = (Permission) it.next();
- grantedAuthorities.add( new GrantedAuthorityImpl( "ROLE_" + permission.getName() ) );
- }
-
- if ( user.isGuest() )
- {
- // TODO externalize this String
- grantedAuthorities.add( new GrantedAuthorityImpl( "ROLE_ANONYMOUS" ) );
- }
-
- GrantedAuthority[] grantedAuthoritiesAsArray = (GrantedAuthority[]) grantedAuthorities
- .toArray( new GrantedAuthority[0] );
-
- String username = user.getUsername();
- String password = user.getEncodedPassword();
- boolean enabled = true;
- boolean accountNonExpired = true;
-
- if ( user.getLastPasswordChange() != null && daysBeforeExpiration > 0 )
- {
- long lastPasswordChange = user.getLastPasswordChange().getTime();
- long currentTime = new Date().getTime();
- accountNonExpired = lastPasswordChange + daysBeforeExpiration * MILLISECONDS_PER_DAY > currentTime;
- }
-
- boolean credentialsNonExpired = true;
- boolean accountNonLocked = true;
-
- UserDetails userDetails = new org.acegisecurity.userdetails.User( username, password, enabled,
- accountNonExpired, credentialsNonExpired,
- accountNonLocked, grantedAuthoritiesAsArray );
-
- return userDetails;
- }
-
- protected void setDaysBeforeExpiration( int daysBeforeExpiration )
- {
- this.daysBeforeExpiration = daysBeforeExpiration;
- }
-
- /**
- * TODO: convert Acegi user into Continuum user?
- */
}