package org.geoserver.web.spring.security; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.apache.wicket.Request; import org.apache.wicket.Session; import org.apache.wicket.protocol.http.WebSession; @SuppressWarnings("serial") public class GeoServerSession extends WebSession{ public GeoServerSession(Request request) { super(request); } public static GeoServerSession get() { return (GeoServerSession)Session.get(); } public Authentication getAuthentication(){ Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth != null && auth.getAuthorities().size() == 1 && "ROLE_ANONYMOUS".equals(auth.getAuthorities().iterator().next().getAuthority()) ) return null; return auth; } }