import org.argeo.cms.CmsException;
import org.argeo.cms.CmsView;
-import org.argeo.cms.util.CmsUtils;
+import org.argeo.eclipse.ui.specific.UiContext;
import org.osgi.service.useradmin.Authorization;
/** Static utilities */
public static boolean isAnonymous(Subject subject) {
String username = getUsername(subject);
- return username == null
- || username.equalsIgnoreCase(AuthConstants.ROLE_ANONYMOUS);
+ return username == null || username.equalsIgnoreCase(AuthConstants.ROLE_ANONYMOUS);
}
private static Subject currentSubject() {
- CmsView cmsView = CmsUtils.getCmsView();
+ CmsView cmsView = getCmsView();
if (cmsView != null)
return cmsView.getSubject();
Subject subject = Subject.getSubject(AccessController.getContext());
throw new CmsException("Cannot find related subject");
}
+ /**
+ * The CMS view related to this display, or null if none is available from
+ * this call.
+ */
+ private static CmsView getCmsView() {
+ return UiContext.getData(CmsView.KEY);
+ }
+
public final static String getUsername(Subject subject) {
// Subject subject = Subject.getSubject(AccessController.getContext());
// if (subject == null)
// return null;
if (subject.getPrincipals(X500Principal.class).size() != 1)
return null;
- Principal principal = subject.getPrincipals(X500Principal.class)
- .iterator().next();
+ Principal principal = subject.getPrincipals(X500Principal.class).iterator().next();
return principal.getName();
}
}
private static Authorization getAuthorization(Subject subject) {
- return subject.getPrivateCredentials(Authorization.class).iterator()
- .next();
+ return subject.getPrivateCredentials(Authorization.class).iterator().next();
}
public final static Set<String> roles() {
public final static Set<String> roles(Subject subject) {
Set<String> roles = new HashSet<String>();
- X500Principal userPrincipal = subject
- .getPrincipals(X500Principal.class).iterator().next();
+ X500Principal userPrincipal = subject.getPrincipals(X500Principal.class).iterator().next();
roles.add(userPrincipal.getName());
for (Principal group : subject.getPrincipals(Group.class)) {
roles.add(group.getName());