Hi,
Thank you for reporting the problem. I’ve created an issue for this. The issue will be fixed in the next 2.3 patch release.
Until then, you may create the following configuration in your project, that will assign a correct logout URL:
import com.google.common.base.Strings;
import io.jmix.flowui.view.View;
import io.jmix.securityflowui.security.FlowuiVaadinWebSecurity;
import jakarta.servlet.ServletContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.stereotype.Component;
@Component
public class ExtFlowuiVaadinWebSecurity extends FlowuiVaadinWebSecurity {
private static final Logger log = LoggerFactory.getLogger(ExtFlowuiVaadinWebSecurity.class);
private ServletContext servletContext;
@Autowired
protected void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}
@Override
protected void initLoginView(HttpSecurity http) throws Exception {
String loginViewId = uiProperties.getLoginViewId();
if (Strings.isNullOrEmpty(loginViewId)) {
log.debug("Login view Id is not defined");
return;
}
Class<? extends View<?>> controllerClass =
viewRegistry.getViewInfo(loginViewId).getControllerClass();
String contextPath = servletContext.getContextPath();
if (!contextPath.startsWith("/"))
contextPath = "/" + contextPath;
setLoginView(http, controllerClass, contextPath);
}
}