use static method to check if subject is anonymous

This commit is contained in:
Eduard Heimbuch
2019-10-14 16:21:14 +02:00
parent 38ca5f8d22
commit d69e93406c
4 changed files with 21 additions and 7 deletions

View File

@@ -33,11 +33,10 @@ package sonia.scm.api.rest;
//~--- non-JDK imports --------------------------------------------------------
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.AuthorizationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.SCMContext;
import sonia.scm.security.Authentications;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
@@ -69,6 +68,6 @@ public class AuthorizationExceptionMapper
}
private Response.Status getStatus() {
return SecurityUtils.getSubject().getPrincipal().equals(SCMContext.USER_ANONYMOUS) ? Response.Status.UNAUTHORIZED : Response.Status.FORBIDDEN;
return Authentications.isAuthenticatedSubjectAnonymous() ? Response.Status.UNAUTHORIZED : Response.Status.FORBIDDEN;
}
}

View File

@@ -6,12 +6,12 @@ import de.otto.edison.hal.Embedded;
import de.otto.edison.hal.Link;
import de.otto.edison.hal.Links;
import org.apache.shiro.SecurityUtils;
import sonia.scm.SCMContext;
import sonia.scm.SCMContextProvider;
import sonia.scm.config.ConfigurationPermissions;
import sonia.scm.config.ScmConfiguration;
import sonia.scm.group.GroupPermissions;
import sonia.scm.plugin.PluginPermissions;
import sonia.scm.security.Authentications;
import sonia.scm.security.PermissionPermissions;
import sonia.scm.user.UserPermissions;
@@ -48,7 +48,7 @@ public class IndexDtoGenerator extends HalAppenderMapper {
if (SecurityUtils.getSubject().isAuthenticated()) {
builder.single(link("me", resourceLinks.me().self()));
if (SecurityUtils.getSubject().getPrincipal().equals(SCMContext.USER_ANONYMOUS)) {
if (Authentications.isAuthenticatedSubjectAnonymous()) {
builder.single(link("login", resourceLinks.authentication().jsonLogin()));
} else {
builder.single(link("logout", resourceLinks.authentication().logout()));

View File

@@ -4,9 +4,9 @@ import com.cronutils.utils.VisibleForTesting;
import com.google.common.collect.ImmutableSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.SCMContext;
import sonia.scm.cache.Cache;
import sonia.scm.cache.CacheManager;
import sonia.scm.security.Authentications;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -39,7 +39,7 @@ public class DefaultGroupCollector implements GroupCollector {
public Set<String> collect(String principal) {
ImmutableSet.Builder<String> builder = ImmutableSet.builder();
if (!principal.equals(SCMContext.USER_ANONYMOUS)) {
if (!Authentications.isSubjectAnonymous(principal)) {
builder.add(AUTHENTICATED);
}