mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2024-11-14 03:20:14 +01:00
Bugfix: missing contextPath (#1434)
This commit is contained in:
parent
5a50c54f29
commit
1e72960c5f
@ -37,7 +37,8 @@ public class CustomAuthenticationSuccessHandler
|
|||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (savedRequest != null
|
if (savedRequest != null
|
||||||
&& !RequestUriUtils.isStaticResource(savedRequest.getRedirectUrl())) {
|
&& !RequestUriUtils.isStaticResource(
|
||||||
|
request.getContextPath(), savedRequest.getRedirectUrl())) {
|
||||||
// Redirect to the original destination
|
// Redirect to the original destination
|
||||||
super.onAuthenticationSuccess(request, response, authentication);
|
super.onAuthenticationSuccess(request, response, authentication);
|
||||||
} else {
|
} else {
|
||||||
|
@ -28,8 +28,10 @@ public class FirstLoginFilter extends OncePerRequestFilter {
|
|||||||
throws ServletException, IOException {
|
throws ServletException, IOException {
|
||||||
String method = request.getMethod();
|
String method = request.getMethod();
|
||||||
String requestURI = request.getRequestURI();
|
String requestURI = request.getRequestURI();
|
||||||
|
String contextPath = request.getContextPath();
|
||||||
|
|
||||||
// Check if the request is for static resources
|
// Check if the request is for static resources
|
||||||
boolean isStaticResource = RequestUriUtils.isStaticResource(requestURI);
|
boolean isStaticResource = RequestUriUtils.isStaticResource(contextPath, requestURI);
|
||||||
|
|
||||||
// If it's a static resource, just continue the filter chain and skip the logic below
|
// If it's a static resource, just continue the filter chain and skip the logic below
|
||||||
if (isStaticResource) {
|
if (isStaticResource) {
|
||||||
@ -43,8 +45,8 @@ public class FirstLoginFilter extends OncePerRequestFilter {
|
|||||||
if ("GET".equalsIgnoreCase(method)
|
if ("GET".equalsIgnoreCase(method)
|
||||||
&& user.isPresent()
|
&& user.isPresent()
|
||||||
&& user.get().isFirstLogin()
|
&& user.get().isFirstLogin()
|
||||||
&& !"/change-creds".equals(requestURI)) {
|
&& !(contextPath + "/change-creds").equals(requestURI)) {
|
||||||
response.sendRedirect(request.getContextPath() + "/change-creds");
|
response.sendRedirect(contextPath + "/change-creds");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,8 @@ public class IPRateLimitingFilter implements Filter {
|
|||||||
String method = httpRequest.getMethod();
|
String method = httpRequest.getMethod();
|
||||||
String requestURI = httpRequest.getRequestURI();
|
String requestURI = httpRequest.getRequestURI();
|
||||||
// Check if the request is for static resources
|
// Check if the request is for static resources
|
||||||
boolean isStaticResource = RequestUriUtils.isStaticResource(requestURI);
|
boolean isStaticResource =
|
||||||
|
RequestUriUtils.isStaticResource(httpRequest.getContextPath(), requestURI);
|
||||||
|
|
||||||
// If it's a static resource, just continue the filter chain and skip the logic below
|
// If it's a static resource, just continue the filter chain and skip the logic below
|
||||||
if (isStaticResource) {
|
if (isStaticResource) {
|
||||||
|
@ -48,13 +48,14 @@ public class CustomOAuth2AuthenticationSuccessHandler
|
|||||||
|
|
||||||
// Get the saved request
|
// Get the saved request
|
||||||
HttpSession session = request.getSession(false);
|
HttpSession session = request.getSession(false);
|
||||||
|
String contextPath = request.getContextPath();
|
||||||
SavedRequest savedRequest =
|
SavedRequest savedRequest =
|
||||||
(session != null)
|
(session != null)
|
||||||
? (SavedRequest) session.getAttribute("SPRING_SECURITY_SAVED_REQUEST")
|
? (SavedRequest) session.getAttribute("SPRING_SECURITY_SAVED_REQUEST")
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if (savedRequest != null
|
if (savedRequest != null
|
||||||
&& !RequestUriUtils.isStaticResource(savedRequest.getRedirectUrl())) {
|
&& !RequestUriUtils.isStaticResource(contextPath, savedRequest.getRedirectUrl())) {
|
||||||
// Redirect to the original destination
|
// Redirect to the original destination
|
||||||
super.onAuthenticationSuccess(request, response, authentication);
|
super.onAuthenticationSuccess(request, response, authentication);
|
||||||
} else {
|
} else {
|
||||||
@ -75,16 +76,15 @@ public class CustomOAuth2AuthenticationSuccessHandler
|
|||||||
&& !userService.isAuthenticationTypeByUsername(
|
&& !userService.isAuthenticationTypeByUsername(
|
||||||
username, AuthenticationType.OAUTH2)
|
username, AuthenticationType.OAUTH2)
|
||||||
&& oAuth.getAutoCreateUser()) {
|
&& oAuth.getAutoCreateUser()) {
|
||||||
response.sendRedirect(
|
response.sendRedirect(contextPath + "/logout?oauth2AuthenticationErrorWeb=true");
|
||||||
request.getContextPath() + "/logout?oauth2AuthenticationErrorWeb=true");
|
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
userService.processOAuth2PostLogin(username, oAuth.getAutoCreateUser());
|
userService.processOAuth2PostLogin(username, oAuth.getAutoCreateUser());
|
||||||
response.sendRedirect("/");
|
response.sendRedirect(contextPath + "/");
|
||||||
return;
|
return;
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
response.sendRedirect("/logout?invalidUsername=true");
|
response.sendRedirect(contextPath + "/logout?invalidUsername=true");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,7 +59,7 @@ public class UserController {
|
|||||||
@PostMapping("/change-username")
|
@PostMapping("/change-username")
|
||||||
public RedirectView changeUsername(
|
public RedirectView changeUsername(
|
||||||
Principal principal,
|
Principal principal,
|
||||||
@RequestParam(name = "currentPassword") String currentPassword,
|
@RequestParam(name = "currentPasswordChangeUsername") String currentPassword,
|
||||||
@RequestParam(name = "newUsername") String newUsername,
|
@RequestParam(name = "newUsername") String newUsername,
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
HttpServletResponse response,
|
HttpServletResponse response,
|
||||||
|
@ -12,6 +12,20 @@ public class RequestUriUtils {
|
|||||||
|| requestURI.startsWith("/pdfjs/")
|
|| requestURI.startsWith("/pdfjs/")
|
||||||
|| requestURI.startsWith("/pdfjs-legacy/")
|
|| requestURI.startsWith("/pdfjs-legacy/")
|
||||||
|| requestURI.endsWith(".svg")
|
|| requestURI.endsWith(".svg")
|
||||||
|
|| requestURI.endsWith(".webmanifest")
|
||||||
|| requestURI.startsWith("/api/v1/info/status");
|
|| requestURI.startsWith("/api/v1/info/status");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isStaticResource(String contextPath, String requestURI) {
|
||||||
|
|
||||||
|
return requestURI.startsWith(contextPath + "/css/")
|
||||||
|
|| requestURI.startsWith(contextPath + "/fonts/")
|
||||||
|
|| requestURI.startsWith(contextPath + "/js/")
|
||||||
|
|| requestURI.startsWith(contextPath + "/images/")
|
||||||
|
|| requestURI.startsWith(contextPath + "/public/")
|
||||||
|
|| requestURI.startsWith(contextPath + "/pdfjs/")
|
||||||
|
|| requestURI.endsWith(".svg")
|
||||||
|
|| requestURI.endsWith(".webmanifest")
|
||||||
|
|| requestURI.startsWith(contextPath + "/api/v1/info/status");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user