KARAF-2775 Use AccessControlContext to log into web shell

Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/85894503
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/85894503
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/85894503

Branch: refs/heads/karaf-3.0.x
Commit: 85894503a7310d49b52a0df8929f857c46dcfac9
Parents: 4d7f393
Author: Christian Schneider <[email protected]>
Authored: Fri Feb 21 15:55:40 2014 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Fri Feb 21 19:18:47 2014 +0100

----------------------------------------------------------------------
 .../java/org/apache/karaf/webconsole/gogo/GogoPlugin.java    | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/85894503/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
----------------------------------------------------------------------
diff --git 
a/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
 
b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
index ed6a26d..077c31b 100644
--- 
a/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
+++ 
b/webconsole/gogo/src/main/java/org/apache/karaf/webconsole/gogo/GogoPlugin.java
@@ -31,6 +31,8 @@ import java.io.PipedOutputStream;
 import java.io.PrintStream;
 import java.io.PrintWriter;
 import java.net.URL;
+import java.security.AccessControlContext;
+import java.security.AccessController;
 import java.util.zip.GZIPOutputStream;
 
 import javax.security.auth.Subject;
@@ -40,7 +42,6 @@ import javax.servlet.http.HttpServletResponse;
 
 import org.apache.felix.service.command.CommandProcessor;
 import org.apache.felix.service.threadio.ThreadIO;
-import org.apache.karaf.jaas.boot.principal.UserPrincipal;
 import org.apache.karaf.shell.console.Console;
 import org.apache.karaf.shell.console.ConsoleFactory;
 import org.apache.felix.webconsole.AbstractWebConsolePlugin;
@@ -195,8 +196,9 @@ public class GogoPlugin extends AbstractWebConsolePlugin {
                 out = new PipedInputStream();
                 PrintStream pipedOut = new PrintStream(new 
PipedOutputStream(out), true);
 
-                final Subject subject = new Subject();
-                subject.getPrincipals().add(new UserPrincipal("karaf"));
+                AccessControlContext acc = AccessController.getContext();
+                final Subject subject = Subject.getSubject(acc);
+                
                 Console console = consoleFactory.create(commandProcessor,
                         threadIO,
                         new PipedInputStream(in),

Reply via email to