Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Controller
- @RequestMapping("/passwordaenderung")
- public class Passwortaenderung {
- @Autowired
- private UserRepository userRepo;
- @Autowired
- private PasswordEncoder passwordEncoder;
- @Autowired
- private updateOldPasswordRepository passwordRepo;
- @GetMapping
- public String showPasswordChangeForm(Model model) {
- UserCreationDto userForm = new UserCreationDto();
- User user;
- List<Benutzer> users = userRepo.findAll();
- for(int i = 0; i<users.size(); i++) {
- user = new User();
- user.setUsername(users.get(i).getBenutzername());
- user.setPassword(users.get(i).getPasswort());
- userForm.addUser(user);
- }
- model.addAttribute("UserCreationDto", userForm);
- return "passwordaenderung";
- }
- @PostMapping
- public String updateOldPassword(@ModelAttribute UserCreationDto userTableSettings,
- @RequestParam ("radiobutton") String radiobutton,
- BindingResult result,
- Model model,
- Errors errors) {
- if (errors.hasErrors()) {
- return "error";
- }
- List<User> users = userTableSettings.getUsers();
- for(int i = 0; i<users.size(); i++) {
- if(users.get(i).getUsername().equals(radiobutton)) {
- String username = users.get(i).getUsername();
- String newPassword = passwordEncoder.encode(users.get(i).getPassword());
- passwordRepo.updatePassword(username, newPassword);
- }
- }
- return "redirect:/passwordaenderung?success";
- }
- <form action="#" th:action="@{/passwordaenderung}" th:object="${UserCreationDto}" method="post" onsubmit="return checkPassword()">
- <fieldset>
- <table>
- <thead>
- <tr>
- <th>Username</th>
- <th>Password</th>
- </tr>
- </thead>
- <tbody>
- <tr th:each="user, itemStat : *{users}">
- <td><input th:field="*{users[__${itemStat.index}__].username}" /></td>
- <td><input type="password" name="passwordField" th:field="*{users[__${itemStat.index}__].password}" id="pwd" /></td>
- <!-- <td><input type="checkbox" name="checkboxName" id="myCheck" /></td> -->
- <td><input type="radio" name="radiobutton" th:value="*{users[__${itemStat.index}__].username}" id="raidoButtonCheck" /></td>
- </tr>
- </tbody>
- </table>
- <input type="submit" id="submitButton" th:value="Speichern">
- </fieldset>
- </form>
- <div th:if="${param.success}">
- <div class="alert alert-info">
- The user password was successfully changed.
- </div>
- </div>
Add Comment
Please, Sign In to add comment