X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Futil%2FUserMenuLink.java;h=1b7ca03f44f2fcc937498a208d6274840a9947b5;hb=c873a0359345503b8e3ca07828bd99d525ec7cc0;hp=689318137fa06f8102a6e85973a59a0c17a048e9;hpb=a54e2b883c05a913a187133f9d141124e26fb1c2;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/util/UserMenuLink.java b/org.argeo.cms/src/org/argeo/cms/util/UserMenuLink.java index 689318137..1b7ca03f4 100644 --- a/org.argeo.cms/src/org/argeo/cms/util/UserMenuLink.java +++ b/org.argeo.cms/src/org/argeo/cms/util/UserMenuLink.java @@ -1,10 +1,12 @@ package org.argeo.cms.util; import javax.jcr.Node; +import javax.security.auth.Subject; import org.argeo.cms.CmsMsg; import org.argeo.cms.CmsStyles; -import org.argeo.cms.KernelHeader; +import org.argeo.cms.auth.AuthConstants; +import org.argeo.cms.auth.CurrentUser; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.MouseEvent; @@ -12,7 +14,6 @@ import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; -import org.springframework.security.core.context.SecurityContextHolder; /** Open the user menu when clicked */ public class UserMenuLink extends MenuLink { @@ -23,12 +24,13 @@ public class UserMenuLink extends MenuLink { @Override public Control createUi(Composite parent, Node context) { - String username = SecurityContextHolder.getContext() - .getAuthentication().getName(); - if (username.equals(KernelHeader.USERNAME_ANONYMOUS)) + Subject subject = CmsUtils.getCmsView().getSubject(); + String username = CurrentUser.getUsername(subject); + if (username.equalsIgnoreCase(AuthConstants.ROLE_ANONYMOUS)) setLabel(CmsMsg.login.lead()); - else - setLabel(username); + else { + setLabel(CurrentUser.getDisplayName(subject)); + } Label link = (Label) ((Composite) super.createUi(parent, context)) .getChildren()[0]; link.addMouseListener(new UserMenuLinkController()); @@ -59,7 +61,7 @@ public class UserMenuLink extends MenuLink { // avoid to reopen the menu, if one has clicked gain if (durationSinceLastDispose > 200) { userMenu = createUserMenu(source); - userMenu.addDisposeListener(this); + userMenu.getShell().addDisposeListener(this); } } }