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();


Reply via email to