diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/security/SamlAuthenticationEntryPoint.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/security/SamlAuthenticationEntryPoint.java index 4da8f4b02c0..6307f3a3c94 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/security/SamlAuthenticationEntryPoint.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/security/SamlAuthenticationEntryPoint.java @@ -1,30 +1,30 @@ /* - * Copyright (c) 2010-2019 Evolveum and contributors + * Copyright (c) 2010-2020 Evolveum and contributors * * This work is dual-licensed under the Apache License 2.0 * and European Union Public License. See LICENSE file for details. */ package com.evolveum.midpoint.web.security; -import com.evolveum.midpoint.model.api.authentication.MidpointAuthentication; -import com.evolveum.midpoint.model.api.authentication.ModuleAuthentication; -import com.evolveum.midpoint.web.security.module.authentication.Saml2ModuleAuthentication; -import com.evolveum.midpoint.web.security.util.IdentityProvider; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.context.SecurityContextHolder; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; +import com.evolveum.midpoint.model.api.authentication.MidpointAuthentication; +import com.evolveum.midpoint.model.api.authentication.ModuleAuthentication; +import com.evolveum.midpoint.web.security.module.authentication.Saml2ModuleAuthentication; +import com.evolveum.midpoint.web.security.util.IdentityProvider; /** * @author skublik */ - public class SamlAuthenticationEntryPoint extends WicketLoginUrlAuthenticationEntryPoint { public SamlAuthenticationEntryPoint(String loginFormUrl) { @@ -38,9 +38,9 @@ public void commence(HttpServletRequest request, HttpServletResponse response, A if (authentication instanceof MidpointAuthentication) { MidpointAuthentication mpAuthentication = (MidpointAuthentication) authentication; ModuleAuthentication moduleAuthentication = mpAuthentication.getProcessingModuleAuthentication(); - if (moduleAuthentication != null && moduleAuthentication instanceof Saml2ModuleAuthentication){ + if (moduleAuthentication instanceof Saml2ModuleAuthentication) { providers = ((Saml2ModuleAuthentication) moduleAuthentication).getProviders(); - if (!providers.isEmpty() && providers.size() == 1 + if (providers.size() == 1 && request.getSession().getAttribute("SPRING_SECURITY_LAST_EXCEPTION") == null) { response.sendRedirect(providers.get(0).getRedirectLink()); return;