You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/02/18 15:41:47 UTC

svn commit: r911422 - /incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java

Author: mir
Date: Thu Feb 18 14:41:47 2010
New Revision: 911422

URL: http://svn.apache.org/viewvc?rev=911422&view=rev
Log:
CLEREZZA-107: UserLoginNode.java wasn't merged before.

Modified:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java?rev=911422&r1=911421&r2=911422&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java Thu Feb 18 14:41:47 2010
@@ -18,6 +18,9 @@
  */
 package org.apache.clerezza.platform.usermanager;
 
+import java.security.AccessControlContext;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import org.apache.clerezza.platform.security.UserUtil;
 import org.apache.clerezza.rdf.core.NonLiteral;
 
@@ -31,7 +34,7 @@
 
 /**
  * The login name is added to the user context node. The name is accessable via
- * ssp template by using the context node 
+ * ssp template by using the context node
  * (e.g. context/platform("user")/platform("userName")).
  *
  * @author tio
@@ -46,8 +49,15 @@
 
 	@Override
 	public GraphNode addUserContext(GraphNode node) {
-		GraphNode agent = userManager.getUserGraphNode(UserUtil.getCurrentUserName());
-		if(!(node.getObjects(PLATFORM.user).hasNext())) {
+
+		final AccessControlContext context = AccessController.getContext();
+		GraphNode agent = AccessController.doPrivileged(new PrivilegedAction<GraphNode>() {
+			@Override
+			public GraphNode run() {
+				return userManager.getUserGraphNode(UserUtil.getUserName(context));
+			}
+		});
+		if (!(node.getObjects(PLATFORM.user).hasNext())) {
 			node.addProperty(PLATFORM.user, agent.getNode());
 		} else {
 			Resource user = node.getObjects(PLATFORM.user).next();