mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-10-25 11:17:28 +02:00 
			
		
		
		
	init
This commit is contained in:
		
							parent
							
								
									a40696f16e
								
							
						
					
					
						commit
						fd4c75279f
					
				| @ -66,46 +66,46 @@ public class UserController { | ||||
|             RedirectAttributes redirectAttributes) { | ||||
| 
 | ||||
|         if (!userService.isUsernameValid(newUsername)) { | ||||
|             return new RedirectView("/account?messageType=invalidUsername"); | ||||
|             return new RedirectView("/account?messageType=invalidUsername",true); | ||||
|         } | ||||
| 
 | ||||
|         if (principal == null) { | ||||
|             return new RedirectView("/account?messageType=notAuthenticated"); | ||||
|             return new RedirectView("/account?messageType=notAuthenticated",true); | ||||
|         } | ||||
| 
 | ||||
|         // The username MUST be unique when renaming | ||||
|         Optional<User> userOpt = userService.findByUsername(principal.getName()); | ||||
| 
 | ||||
|         if (userOpt == null || userOpt.isEmpty()) { | ||||
|             return new RedirectView("/account?messageType=userNotFound"); | ||||
|             return new RedirectView("/account?messageType=userNotFound",true); | ||||
|         } | ||||
| 
 | ||||
|         User user = userOpt.get(); | ||||
| 
 | ||||
|         if (user.getUsername().equals(newUsername)) { | ||||
|             return new RedirectView("/account?messageType=usernameExists"); | ||||
|             return new RedirectView("/account?messageType=usernameExists",true); | ||||
|         } | ||||
| 
 | ||||
|         if (!userService.isPasswordCorrect(user, currentPassword)) { | ||||
|             return new RedirectView("/account?messageType=incorrectPassword"); | ||||
|             return new RedirectView("/account?messageType=incorrectPassword",true); | ||||
|         } | ||||
| 
 | ||||
|         if (!user.getUsername().equals(newUsername) && userService.usernameExists(newUsername)) { | ||||
|             return new RedirectView("/account?messageType=usernameExists"); | ||||
|             return new RedirectView("/account?messageType=usernameExists",true); | ||||
|         } | ||||
| 
 | ||||
|         if (newUsername != null && newUsername.length() > 0) { | ||||
|             try { | ||||
|                 userService.changeUsername(user, newUsername); | ||||
|             } catch (IllegalArgumentException e) { | ||||
|                 return new RedirectView("/account?messageType=invalidUsername"); | ||||
|                 return new RedirectView("/account?messageType=invalidUsername",true); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         // Logout using Spring's utility | ||||
|         new SecurityContextLogoutHandler().logout(request, response, null); | ||||
| 
 | ||||
|         return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED); | ||||
|         return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED,true); | ||||
|     } | ||||
| 
 | ||||
|     @PreAuthorize("!hasAuthority('ROLE_DEMO_USER')") | ||||
| @ -118,19 +118,19 @@ public class UserController { | ||||
|             HttpServletResponse response, | ||||
|             RedirectAttributes redirectAttributes) { | ||||
|         if (principal == null) { | ||||
|             return new RedirectView("/change-creds?messageType=notAuthenticated"); | ||||
|             return new RedirectView("/change-creds?messageType=notAuthenticated",true); | ||||
|         } | ||||
| 
 | ||||
|         Optional<User> userOpt = userService.findByUsernameIgnoreCase(principal.getName()); | ||||
| 
 | ||||
|         if (userOpt == null || userOpt.isEmpty()) { | ||||
|             return new RedirectView("/change-creds?messageType=userNotFound"); | ||||
|             return new RedirectView("/change-creds?messageType=userNotFound",true); | ||||
|         } | ||||
| 
 | ||||
|         User user = userOpt.get(); | ||||
| 
 | ||||
|         if (!userService.isPasswordCorrect(user, currentPassword)) { | ||||
|             return new RedirectView("/change-creds?messageType=incorrectPassword"); | ||||
|             return new RedirectView("/change-creds?messageType=incorrectPassword",true); | ||||
|         } | ||||
| 
 | ||||
|         userService.changePassword(user, newPassword); | ||||
| @ -138,7 +138,7 @@ public class UserController { | ||||
|         // Logout using Spring's utility | ||||
|         new SecurityContextLogoutHandler().logout(request, response, null); | ||||
| 
 | ||||
|         return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED); | ||||
|         return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED,true); | ||||
|     } | ||||
| 
 | ||||
|     @PreAuthorize("!hasAuthority('ROLE_DEMO_USER')") | ||||
| @ -151,19 +151,19 @@ public class UserController { | ||||
|             HttpServletResponse response, | ||||
|             RedirectAttributes redirectAttributes) { | ||||
|         if (principal == null) { | ||||
|             return new RedirectView("/account?messageType=notAuthenticated"); | ||||
|             return new RedirectView("/account?messageType=notAuthenticated",true); | ||||
|         } | ||||
| 
 | ||||
|         Optional<User> userOpt = userService.findByUsernameIgnoreCase(principal.getName()); | ||||
| 
 | ||||
|         if (userOpt == null || userOpt.isEmpty()) { | ||||
|             return new RedirectView("/account?messageType=userNotFound"); | ||||
|             return new RedirectView("/account?messageType=userNotFound",true); | ||||
|         } | ||||
| 
 | ||||
|         User user = userOpt.get(); | ||||
| 
 | ||||
|         if (!userService.isPasswordCorrect(user, currentPassword)) { | ||||
|             return new RedirectView("/account?messageType=incorrectPassword"); | ||||
|             return new RedirectView("/account?messageType=incorrectPassword",true); | ||||
|         } | ||||
| 
 | ||||
|         userService.changePassword(user, newPassword); | ||||
| @ -171,7 +171,7 @@ public class UserController { | ||||
|         // Logout using Spring's utility | ||||
|         new SecurityContextLogoutHandler().logout(request, response, null); | ||||
| 
 | ||||
|         return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED); | ||||
|         return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED,true); | ||||
|     } | ||||
| 
 | ||||
|     @PreAuthorize("!hasAuthority('ROLE_DEMO_USER')") | ||||
| @ -204,7 +204,7 @@ public class UserController { | ||||
|                     boolean forceChange) { | ||||
| 
 | ||||
|         if (!userService.isUsernameValid(username)) { | ||||
|             return new RedirectView("/addUsers?messageType=invalidUsername"); | ||||
|             return new RedirectView("/addUsers?messageType=invalidUsername",true); | ||||
|         } | ||||
| 
 | ||||
|         Optional<User> userOpt = userService.findByUsernameIgnoreCase(username); | ||||
| @ -212,26 +212,26 @@ public class UserController { | ||||
|         if (userOpt.isPresent()) { | ||||
|             User user = userOpt.get(); | ||||
|             if (user != null && user.getUsername().equalsIgnoreCase(username)) { | ||||
|                 return new RedirectView("/addUsers?messageType=usernameExists"); | ||||
|                 return new RedirectView("/addUsers?messageType=usernameExists",true); | ||||
|             } | ||||
|         } | ||||
|         if (userService.usernameExistsIgnoreCase(username)) { | ||||
|             return new RedirectView("/addUsers?messageType=usernameExists"); | ||||
|             return new RedirectView("/addUsers?messageType=usernameExists",true); | ||||
|         } | ||||
|         try { | ||||
|             // Validate the role | ||||
|             Role roleEnum = Role.fromString(role); | ||||
|             if (roleEnum == Role.INTERNAL_API_USER) { | ||||
|                 // If the role is INTERNAL_API_USER, reject the request | ||||
|                 return new RedirectView("/addUsers?messageType=invalidRole"); | ||||
|                 return new RedirectView("/addUsers?messageType=invalidRole",true); | ||||
|             } | ||||
|         } catch (IllegalArgumentException e) { | ||||
|             // If the role ID is not valid, redirect with an error message | ||||
|             return new RedirectView("/addUsers?messageType=invalidRole"); | ||||
|             return new RedirectView("/addUsers?messageType=invalidRole",true); | ||||
|         } | ||||
| 
 | ||||
|         userService.saveUser(username, password, role, forceChange); | ||||
|         return new RedirectView("/addUsers"); // Redirect to account page after adding the user | ||||
|         return new RedirectView("/addUsers",true); // Redirect to account page after adding the user | ||||
|     } | ||||
| 
 | ||||
|     @PreAuthorize("hasRole('ROLE_ADMIN')") | ||||
| @ -244,33 +244,33 @@ public class UserController { | ||||
|         Optional<User> userOpt = userService.findByUsernameIgnoreCase(username); | ||||
| 
 | ||||
|         if (!userOpt.isPresent()) { | ||||
|             return new RedirectView("/addUsers?messageType=userNotFound"); | ||||
|             return new RedirectView("/addUsers?messageType=userNotFound",true); | ||||
|         } | ||||
|         if (!userService.usernameExistsIgnoreCase(username)) { | ||||
|             return new RedirectView("/addUsers?messageType=userNotFound"); | ||||
|             return new RedirectView("/addUsers?messageType=userNotFound",true); | ||||
|         } | ||||
|         // Get the currently authenticated username | ||||
|         String currentUsername = authentication.getName(); | ||||
| 
 | ||||
|         // Check if the provided username matches the current session's username | ||||
|         if (currentUsername.equalsIgnoreCase(username)) { | ||||
|             return new RedirectView("/addUsers?messageType=downgradeCurrentUser"); | ||||
|             return new RedirectView("/addUsers?messageType=downgradeCurrentUser",true); | ||||
|         } | ||||
|         try { | ||||
|             // Validate the role | ||||
|             Role roleEnum = Role.fromString(role); | ||||
|             if (roleEnum == Role.INTERNAL_API_USER) { | ||||
|                 // If the role is INTERNAL_API_USER, reject the request | ||||
|                 return new RedirectView("/addUsers?messageType=invalidRole"); | ||||
|                 return new RedirectView("/addUsers?messageType=invalidRole",true); | ||||
|             } | ||||
|         } catch (IllegalArgumentException e) { | ||||
|             // If the role ID is not valid, redirect with an error message | ||||
|             return new RedirectView("/addUsers?messageType=invalidRole"); | ||||
|             return new RedirectView("/addUsers?messageType=invalidRole",true); | ||||
|         } | ||||
|         User user = userOpt.get(); | ||||
| 
 | ||||
|         userService.changeRole(user, role); | ||||
|         return new RedirectView("/addUsers"); // Redirect to account page after adding the user | ||||
|         return new RedirectView("/addUsers",true); // Redirect to account page after adding the user | ||||
|     } | ||||
| 
 | ||||
|     @PreAuthorize("hasRole('ROLE_ADMIN')") | ||||
| @ -279,7 +279,7 @@ public class UserController { | ||||
|             @PathVariable(name = "username") String username, Authentication authentication) { | ||||
| 
 | ||||
|         if (!userService.usernameExistsIgnoreCase(username)) { | ||||
|             return new RedirectView("/addUsers?messageType=deleteUsernameExists"); | ||||
|             return new RedirectView("/addUsers?messageType=deleteUsernameExists",true); | ||||
|         } | ||||
| 
 | ||||
|         // Get the currently authenticated username | ||||
| @ -287,11 +287,11 @@ public class UserController { | ||||
| 
 | ||||
|         // Check if the provided username matches the current session's username | ||||
|         if (currentUsername.equalsIgnoreCase(username)) { | ||||
|             return new RedirectView("/addUsers?messageType=deleteCurrentUser"); | ||||
|             return new RedirectView("/addUsers?messageType=deleteCurrentUser",true); | ||||
|         } | ||||
|         invalidateUserSessions(username); | ||||
|         userService.deleteUser(username); | ||||
|         return new RedirectView("/addUsers"); | ||||
|         return new RedirectView("/addUsers",true); | ||||
|     } | ||||
| 
 | ||||
|     @Autowired private SessionRegistry sessionRegistry; | ||||
|  | ||||
| @ -17,7 +17,7 @@ spring.servlet.multipart.max-file-size=2000MB | ||||
| spring.servlet.multipart.max-request-size=2000MB | ||||
| 
 | ||||
| server.servlet.session.tracking-modes=cookie | ||||
| server.servlet.context-path=${SYSTEM_ROOTURIPATH:/} | ||||
| server.servlet.context-path=/pdf | ||||
| 
 | ||||
| spring.devtools.restart.enabled=true | ||||
| spring.devtools.livereload.enabled=true | ||||
|  | ||||
| @ -78,7 +78,7 @@ | ||||
|               <div th:if="${changeMessage}" class="alert alert-danger"> | ||||
|                 <span th:text="#{${changeMessage}}">Default message if not found</span> | ||||
|               </div> | ||||
|               <form action="/api/v1/user/admin/changeRole" method="post"> | ||||
|               <form th:action="@{/api/v1/user/admin/changeRole}" method="post"> | ||||
|                 <div class="mb-3"> | ||||
|                   <label for="username" th:text="#{username}">Username</label> | ||||
|                   <select name="username" class="form-control" required> | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user