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=0dbb4ac5adf0429e678a1947f2ca4a339e08056f;hpb=93a457cf047cebb0170abd0f37a9b4291a2ae3e9;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 0dbb4ac5a..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; @@ -22,13 +24,13 @@ public class UserMenuLink extends MenuLink { @Override public Control createUi(Composite parent, Node context) { - // String username = SecurityContextHolder.getContext() - // .getAuthentication().getName(); - String username = CurrentUserUtils.getUsername(); - if (username.equalsIgnoreCase(KernelHeader.ROLE_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); } } }