You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by vt...@apache.org on 2004/11/30 14:40:35 UTC

svn commit: r107004 - in incubator/directory/janus/trunk/core: api/src/java/org/apache/janus/authentication api/src/java/org/apache/janus/authentication/realm impl/src/java/org/apache/janus/authentication/realm impl/src/test/org/apache/janus/testmodel

Author: vtence
Date: Tue Nov 30 05:40:34 2004
New Revision: 107004

URL: http://svn.apache.org/viewcvs?view=rev&rev=107004
Log:
Added credential abstraction; improved string representation for debugging
Added:
   incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/Credential.java
   incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/ContainsCredentialsMatcher.java
      - copied, changed from r106210, incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java
Removed:
   incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java
Modified:
   incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java
   incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java
   incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java
   incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java
   incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java
   incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java

Added: incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/Credential.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/Credential.java?view=auto&rev=107004
==============================================================================
--- (empty file)
+++ incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/Credential.java	Tue Nov 30 05:40:34 2004
@@ -0,0 +1,22 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.janus.authentication;
+
+public interface Credential
+{
+    Object getValue();
+}

Modified: incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java&r1=107003&p2=incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java	(original)
+++ incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/CredentialSet.java	Tue Nov 30 05:40:34 2004
@@ -47,9 +47,9 @@
         m_credentials = new HashSet( credentials );
     }
 
-    public boolean add( Object c )
+    public boolean add( Object credential )
     {
-        return m_credentials.add( c );
+        return m_credentials.add( credential );
     }
 
     /**
@@ -103,6 +103,16 @@
 
         Object credential = creds.m_credentials.iterator().next();
         return credential;
+    }
+
+    public boolean contains( Object credential )
+    {
+        return m_credentials.contains( credential );
+    }
+
+    public boolean containsAll( CredentialSet credentials )
+    {
+        return m_credentials.containsAll( credentials.elements() );
     }
 
     public int size()

Modified: incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java&r1=107003&p2=incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java	(original)
+++ incubator/directory/janus/trunk/core/api/src/java/org/apache/janus/authentication/realm/IdentityInUseException.java	Tue Nov 30 05:40:34 2004
@@ -37,6 +37,8 @@
 
     public String getMessage()
     {
-        return "Credentials in use";
+        final StringBuffer sb = new StringBuffer( "Credentials in use" );
+        sb.append( ": ").append( m_identity );
+        return sb.toString();
     }
 }

Copied: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/ContainsCredentialsMatcher.java (from r106210, incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java)
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/ContainsCredentialsMatcher.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java&r1=106210&p2=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/ContainsCredentialsMatcher.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java	(original)
+++ incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/ContainsCredentialsMatcher.java	Tue Nov 30 05:40:34 2004
@@ -21,18 +21,17 @@
 /**
  * @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
  */
-public class UsernameCredentialMatcher implements CredentialsMatcher
+public class ContainsCredentialsMatcher implements CredentialsMatcher
 {
-    private final UsernameCredential m_username;
+    private final CredentialSet m_credentials;
 
-    public UsernameCredentialMatcher( UsernameCredential username )
+    public ContainsCredentialsMatcher( CredentialSet credentials )
     {
-        m_username = username;
+        m_credentials = credentials;
     }
 
     public boolean matches( CredentialSet creds )
     {
-        UsernameCredential username = (UsernameCredential) creds.getUniqueCredential( UsernameCredential.class );
-        return username.equals( m_username );
+        return creds.containsAll( m_credentials );
     }
 }

Modified: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java&r1=107003&p2=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java	(original)
+++ incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/PasswordCredential.java	Tue Nov 30 05:40:34 2004
@@ -16,18 +16,23 @@
  */
 package org.apache.janus.authentication.realm;
 
-import java.io.Serializable;
+import org.apache.janus.authentication.Credential;
 
 /**
  * @author <a href="mailto:vtence@apache.org">Vincent Tence</a>
  */
-public class PasswordCredential implements Serializable
+public class PasswordCredential implements Credential
 {
     private final String m_password;
 
     public PasswordCredential( String password )
     {
         m_password = password;
+    }
+
+    public Object getValue()
+    {
+        return m_password;
     }
 
     public boolean equals( Object o )

Modified: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java&r1=107003&p2=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java	(original)
+++ incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredential.java	Tue Nov 30 05:40:34 2004
@@ -16,18 +16,23 @@
  */
 package org.apache.janus.authentication.realm;
 
-import java.io.Serializable;
+import org.apache.janus.authentication.Credential;
 
 /**
  * @author <a href="mailto:vtence@apache.org">Vincent Tence</a>
  */
-public class UsernameCredential implements Serializable
+public class UsernameCredential implements Credential
 {
     private final String m_username;
 
     public UsernameCredential( String name )
     {
         m_username = name;
+    }
+
+    public Object getValue()
+    {
+        return m_username;
     }
 
     public String getUsername()

Deleted: /incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernameCredentialMatcher.java?view=auto&rev=107003
==============================================================================

Modified: incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java&r1=107003&p2=incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java	(original)
+++ incubator/directory/janus/trunk/core/impl/src/java/org/apache/janus/authentication/realm/UsernamePasswordAuthentication.java	Tue Nov 30 05:40:34 2004
@@ -53,7 +53,7 @@
 
     public CredentialsMatcher identify( CredentialSet credentials )
     {
-        return new UsernameCredentialMatcher( ( UsernameCredential ) credentials.getUniqueCredential( UsernameCredential.class ) );
+        return new ContainsCredentialsMatcher( credentials.getCredentials( UsernameCredential.class ) );
     }
 
 }

Modified: incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java
Url: http://svn.apache.org/viewcvs/incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java?view=diff&rev=107004&p1=incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java&r1=107003&p2=incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java&r2=107004
==============================================================================
--- incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java	(original)
+++ incubator/directory/janus/trunk/core/impl/src/test/org/apache/janus/testmodel/Groups.java	Tue Nov 30 05:40:34 2004
@@ -18,24 +18,26 @@
 
 import org.apache.janus.authentication.attribute.GroupPrincipal;
 
+import java.security.Principal;
+
 public class Groups
 {
-    public static GroupPrincipal canadians()
+    public static Principal canadians()
     {
         return new GroupPrincipal( "canadians" );
     }
 
-    public static GroupPrincipal geeks()
+    public static Principal geeks()
     {
         return new GroupPrincipal( "geeks" );
     }
 
-    public static GroupPrincipal men()
+    public static Principal men()
     {
         return new GroupPrincipal( "men" );
     }
 
-    public static GroupPrincipal fruits()
+    public static Principal fruits()
     {
         return new GroupPrincipal( "fruits" );
     }