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;
@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());
// avoid to reopen the menu, if one has clicked gain
if (durationSinceLastDispose > 200) {
userMenu = createUserMenu(source);
- userMenu.addDisposeListener(this);
+ userMenu.getShell().addDisposeListener(this);
}
}
}