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