From bd811d9fad35f55aa1ab3afbc835ff24367ffbbe Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 28 Apr 2015 08:46:37 +0000 Subject: [PATCH] Move auth related widgets to CMS git-svn-id: https://svn.argeo.org/commons/trunk@8080 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../widgets}/auth/AbstractLoginDialog.java | 6 ++--- .../auth/CompositeCallbackHandler.java | 2 +- .../cms/widgets}/auth/DefaultLoginDialog.java | 5 ++-- .../security/ui/rap/SecureEntryPoint.java | 26 +++++++++---------- org.argeo.security.ui/pom.xml | 5 ++++ .../argeo/security/ui/SecurityUiPlugin.java | 2 +- 6 files changed, 24 insertions(+), 22 deletions(-) rename {org.argeo.security.ui/src/org/argeo/security/ui => org.argeo.cms/src/org/argeo/cms/widgets}/auth/AbstractLoginDialog.java (97%) rename {org.argeo.security.ui/src/org/argeo/security/ui => org.argeo.cms/src/org/argeo/cms/widgets}/auth/CompositeCallbackHandler.java (99%) rename {org.argeo.security.ui/src/org/argeo/security/ui => org.argeo.cms/src/org/argeo/cms/widgets}/auth/DefaultLoginDialog.java (94%) diff --git a/org.argeo.security.ui/src/org/argeo/security/ui/auth/AbstractLoginDialog.java b/org.argeo.cms/src/org/argeo/cms/widgets/auth/AbstractLoginDialog.java similarity index 97% rename from org.argeo.security.ui/src/org/argeo/security/ui/auth/AbstractLoginDialog.java rename to org.argeo.cms/src/org/argeo/cms/widgets/auth/AbstractLoginDialog.java index 107697e75..a9ed1c7ea 100644 --- a/org.argeo.security.ui/src/org/argeo/security/ui/auth/AbstractLoginDialog.java +++ b/org.argeo.cms/src/org/argeo/cms/widgets/auth/AbstractLoginDialog.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.security.ui.auth; +package org.argeo.cms.widgets.auth; import java.io.IOException; import java.util.Arrays; @@ -25,7 +25,7 @@ import javax.security.auth.callback.PasswordCallback; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.security.ui.SecurityUiPlugin; +import org.argeo.cms.internal.kernel.Activator; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.dialogs.IDialogConstants; @@ -139,7 +139,7 @@ public abstract class AbstractLoginDialog extends TrayDialog implements // event). while (!processCallbacks && (modalContextThread != null) && (modalContextThread == Thread.currentThread()) - && SecurityUiPlugin.getBundleContext() != null) { + && Activator.getBundleContext() != null) { // Note: SecurityUiPlugin.getDefault() != null is false // when the OSGi runtime is shut down try { diff --git a/org.argeo.security.ui/src/org/argeo/security/ui/auth/CompositeCallbackHandler.java b/org.argeo.cms/src/org/argeo/cms/widgets/auth/CompositeCallbackHandler.java similarity index 99% rename from org.argeo.security.ui/src/org/argeo/security/ui/auth/CompositeCallbackHandler.java rename to org.argeo.cms/src/org/argeo/cms/widgets/auth/CompositeCallbackHandler.java index a2fc83162..30f8308e3 100644 --- a/org.argeo.security.ui/src/org/argeo/security/ui/auth/CompositeCallbackHandler.java +++ b/org.argeo.cms/src/org/argeo/cms/widgets/auth/CompositeCallbackHandler.java @@ -1,4 +1,4 @@ -package org.argeo.security.ui.auth; +package org.argeo.cms.widgets.auth; import java.io.IOException; import java.util.Arrays; diff --git a/org.argeo.security.ui/src/org/argeo/security/ui/auth/DefaultLoginDialog.java b/org.argeo.cms/src/org/argeo/cms/widgets/auth/DefaultLoginDialog.java similarity index 94% rename from org.argeo.security.ui/src/org/argeo/security/ui/auth/DefaultLoginDialog.java rename to org.argeo.cms/src/org/argeo/cms/widgets/auth/DefaultLoginDialog.java index 85f90bd3f..b8de34b7c 100644 --- a/org.argeo.security.ui/src/org/argeo/security/ui/auth/DefaultLoginDialog.java +++ b/org.argeo.cms/src/org/argeo/cms/widgets/auth/DefaultLoginDialog.java @@ -13,11 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.argeo.security.ui.auth; +package org.argeo.cms.widgets.auth; import javax.security.auth.callback.CallbackHandler; -import org.argeo.security.ui.SecurityUiPlugin; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; @@ -33,7 +32,7 @@ public class DefaultLoginDialog extends AbstractLoginDialog { private static final long serialVersionUID = -8551827590693035734L; public DefaultLoginDialog() { - this(SecurityUiPlugin.display.get().getActiveShell()); + this(Display.getCurrent().getActiveShell()); } public DefaultLoginDialog(Shell parentShell) { diff --git a/org.argeo.security.ui.rap/src/org/argeo/security/ui/rap/SecureEntryPoint.java b/org.argeo.security.ui.rap/src/org/argeo/security/ui/rap/SecureEntryPoint.java index b79d60d26..3f0f66469 100644 --- a/org.argeo.security.ui.rap/src/org/argeo/security/ui/rap/SecureEntryPoint.java +++ b/org.argeo.security.ui.rap/src/org/argeo/security/ui/rap/SecureEntryPoint.java @@ -22,16 +22,14 @@ import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.CredentialNotFoundException; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.cms.KernelHeader; import org.argeo.cms.auth.ArgeoLoginContext; +import org.argeo.cms.widgets.auth.DefaultLoginDialog; import org.argeo.eclipse.ui.dialogs.ErrorFeedback; -import org.argeo.security.ui.auth.DefaultLoginDialog; import org.argeo.util.LocaleUtils; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.rap.rwt.RWT; @@ -40,7 +38,6 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.ui.PlatformUI; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; /** @@ -78,13 +75,13 @@ public class SecureEntryPoint implements EntryPoint { RWT.getRequest().getSession().setMaxInactiveInterval(loginTimeout); // Try to load security context thanks to the session processing filter -// HttpServletRequest httpRequest = RWT.getRequest(); -// HttpSession httpSession = httpRequest.getSession(); -// Object contextFromSessionObject = httpSession -// .getAttribute(SPRING_SECURITY_CONTEXT_KEY); -// if (contextFromSessionObject != null) -// SecurityContextHolder -// .setContext((SecurityContext) contextFromSessionObject); + // HttpServletRequest httpRequest = RWT.getRequest(); + // HttpSession httpSession = httpRequest.getSession(); + // Object contextFromSessionObject = httpSession + // .getAttribute(SPRING_SECURITY_CONTEXT_KEY); + // if (contextFromSessionObject != null) + // SecurityContextHolder + // .setContext((SecurityContext) contextFromSessionObject); final Display display = PlatformUI.createDisplay(); Subject subject = new Subject(); @@ -106,9 +103,10 @@ public class SecureEntryPoint implements EntryPoint { throw new ArgeoException("Login succeeded but no auth");// fatal // add security context to session -// if (httpSession.getAttribute(SPRING_SECURITY_CONTEXT_KEY) == null) -// httpSession.setAttribute(SPRING_SECURITY_CONTEXT_KEY, -// SecurityContextHolder.getContext()); + // if (httpSession.getAttribute(SPRING_SECURITY_CONTEXT_KEY) == + // null) + // httpSession.setAttribute(SPRING_SECURITY_CONTEXT_KEY, + // SecurityContextHolder.getContext()); // add thread locale to RWT session if (log.isTraceEnabled()) diff --git a/org.argeo.security.ui/pom.xml b/org.argeo.security.ui/pom.xml index 9ca839e8f..4c6cb5183 100644 --- a/org.argeo.security.ui/pom.xml +++ b/org.argeo.security.ui/pom.xml @@ -11,6 +11,11 @@ Commons CMS Workbench jar + + org.argeo.commons + org.argeo.cms + 2.1.22-SNAPSHOT + org.argeo.commons org.argeo.security.core diff --git a/org.argeo.security.ui/src/org/argeo/security/ui/SecurityUiPlugin.java b/org.argeo.security.ui/src/org/argeo/security/ui/SecurityUiPlugin.java index a4190d69a..e5987938b 100644 --- a/org.argeo.security.ui/src/org/argeo/security/ui/SecurityUiPlugin.java +++ b/org.argeo.security.ui/src/org/argeo/security/ui/SecurityUiPlugin.java @@ -22,7 +22,7 @@ import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; import org.argeo.ArgeoException; -import org.argeo.security.ui.auth.DefaultLoginDialog; +import org.argeo.cms.widgets.auth.DefaultLoginDialog; import org.eclipse.swt.widgets.Display; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; -- 2.30.2