/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security; import java.util.Map; import org.geoserver.ows.URLMangler; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; /** * Re-injects the eventual authentication key in all backlinks generated by GeoServer */ public class AuthenticationKeyMangler implements URLMangler { public void mangleURL(StringBuilder baseURL, StringBuilder path, Map<String, String> kvp, URLType type) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); if (authentication instanceof KeyAuthenticationToken) { KeyAuthenticationToken kat = (KeyAuthenticationToken) authentication; String key = (String) kat.getCredentials(); kvp.put(kat.getAuthKeyParamName(), key); } } }