You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/01/21 17:36:10 UTC
svn commit: r1436466 -
/archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java
Author: olamy
Date: Mon Jan 21 16:36:10 2013
New Revision: 1436466
URL: http://svn.apache.org/viewvc?rev=1436466&view=rev
Log:
implements those methods with ldap call
Modified:
archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java
Modified: archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java?rev=1436466&r1=1436465&r2=1436466&view=diff
==============================================================================
--- archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java (original)
+++ archiva/redback/redback-core/trunk/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java Mon Jan 21 16:36:10 2013
@@ -982,22 +982,46 @@ public class LdapRbacManager
closeContext( context );
closeLdapConnection( ldapConnection );
}
-
- //this.rbacImpl.saveUserAssignment( userAssignment );
-
- //return userAssignment;
}
public boolean userAssignmentExists( String principal )
{
- // TODO here
- return this.rbacImpl.userAssignmentExists( principal );
+ LdapConnection ldapConnection = null;
+ DirContext context = null;
+ try
+ {
+ ldapConnection = ldapConnectionFactory.getConnection();
+ context = ldapConnection.getDirContext();
+ List<String> roles = ldapRoleMapper.getRoles( principal, context );
+ if ( roles == null || roles.isEmpty() )
+ {
+ return false;
+ }
+ return true;
+ }
+ catch ( LdapException e )
+ {
+ log.warn( "fail to call userAssignmentExists: {}", e.getMessage() );
+ }
+ catch ( MappingException e )
+ {
+ log.warn( "fail to call userAssignmentExists: {}", e.getMessage() );
+ }
+ finally
+ {
+ closeContext( context );
+ closeLdapConnection( ldapConnection );
+ }
+ return false;
}
public boolean userAssignmentExists( UserAssignment assignment )
{
- // TODO here
- return this.rbacImpl.userAssignmentExists( assignment );
+ if ( assignment == null )
+ {
+ return false;
+ }
+ return this.userAssignmentExists( assignment.getPrincipal() );
}
public RBACManager getRbacImpl()