You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/12/14 18:04:03 UTC

svn commit: r604231 - in /lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac: impl/AbstractUser.java impl/TransientUser.java shibboleth/ShibbolethAuthenticator.java

Author: andreas
Date: Fri Dec 14 09:04:02 2007
New Revision: 604231

URL: http://svn.apache.org/viewvc?rev=604231&view=rev
Log:
Updating transient user and shibboleth authenticator to previous changes. The Shibboleth login doesn't work yet, though.

Modified:
    lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/AbstractUser.java
    lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/TransientUser.java
    lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/shibboleth/ShibbolethAuthenticator.java

Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/AbstractUser.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/AbstractUser.java?rev=604231&r1=604230&r2=604231&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/AbstractUser.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/AbstractUser.java Fri Dec 14 09:04:02 2007
@@ -191,23 +191,29 @@
     }
 
     public Group[] getGroups() {
-        Group[] groups = getExplicitlyAssignedGroups();
+        Set groups = new HashSet();
+        groups.addAll(Arrays.asList(getExplicitlyAssignedGroups()));
+        groups.addAll(Arrays.asList(getRuleGroups()));
+        return (Group[]) groups.toArray(new Group[groups.size()]);
+    }
+    
+    
+    protected Group[] getRuleGroups() {
+        Set ruleGroups = new HashSet();
         if (hasAttributes()) {
-            Set set = new HashSet(Arrays.asList(groups));
             try {
-                Group[] allGroups = getItemManager().getAccreditableManager().getGroupManager()
+                Group[] groups = getItemManager().getAccreditableManager().getGroupManager()
                         .getGroups();
-                for (int i = 0; i < allGroups.length; i++) {
-                    if (!set.contains(allGroups[i]) && allGroups[i].matches(this)) {
-                        set.add(allGroups[i]);
+                for (int i = 0; i < groups.length; i++) {
+                    if (groups[i].matches(this)) {
+                        ruleGroups.add(groups[i]);
                     }
                 }
-                groups = (Group[]) set.toArray(new Group[set.size()]);
             } catch (AccessControlException e) {
                 throw new RuntimeException(e);
             }
         }
-        return groups;
+        return (Group[]) ruleGroups.toArray(new Group[ruleGroups.size()]);
     }
 
 }

Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/TransientUser.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/TransientUser.java?rev=604231&r1=604230&r2=604231&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/TransientUser.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/impl/TransientUser.java Fri Dec 14 09:04:02 2007
@@ -18,10 +18,14 @@
 package org.apache.lenya.ac.impl;
 
 import java.io.File;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
 import org.apache.lenya.ac.AccessControlException;
+import org.apache.lenya.ac.Accreditable;
 import org.apache.lenya.ac.Group;
 import org.apache.lenya.ac.ItemManager;
 
@@ -86,6 +90,19 @@
 
     public void removedFromGroup(Group group) {
         throw new UnsupportedOperationException();
+    }
+
+    public Accreditable[] getAccreditables() {
+        Set accrs = new HashSet();
+        accrs.add(this);
+
+        Group[] groups = getRuleGroups();
+        for (int i = 0; i < groups.length; i++) {
+            Accreditable[] groupAccreditables = groups[i].getAccreditables();
+            accrs.addAll(Arrays.asList(groupAccreditables));
+        }
+
+        return (Accreditable[]) accrs.toArray(new Accreditable[accrs.size()]);
     }
 
 }

Modified: lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/shibboleth/ShibbolethAuthenticator.java
URL: http://svn.apache.org/viewvc/lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/shibboleth/ShibbolethAuthenticator.java?rev=604231&r1=604230&r2=604231&view=diff
==============================================================================
--- lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/shibboleth/ShibbolethAuthenticator.java (original)
+++ lenya/branches/branch_1_2_x_shibboleth/src/java/org/apache/lenya/ac/shibboleth/ShibbolethAuthenticator.java Fri Dec 14 09:04:02 2007
@@ -130,7 +130,7 @@
             if (uniqueId == null) {
                 issueError(handler, ERROR_MISSING_UID_ATTRIBUTE);
             } else {
-                if (accreditableManager.getUserManager().getUser(uniqueId) != null) {
+                if (accreditableManager.getUserManager().contains(uniqueId)) {
                     getLogger().error(
                             "Persistent user with ID [" + uniqueId
                                     + "] exists, can't create transient user.");



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org