Я настраиваю серверный веб-сайт для универсального проекта, и у меня возникает проблема, когда речь идет о добавлении нового пользователя, который добавит пользователя в базу данных, а затем перенаправит пользователя встраница профиля.Но когда я отправляю форму, она вызывает ошибку 403, которая, судя по прочитанному мною чтению, указывает на то, что он не может получить доступ к странице по какой-либо причине.
Я совершенно уверен, что это не связано смоя конфигурация безопасности (каталог "src / java / pokedex / config / securityConfig.java"), хотя я добавлю ее в случае:
package pokedex.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
public class securityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
}
@Override
protected void configure(HttpSecurity http) throws Exception {
}
}
Другие ссылки в файле, кажется, работают, и яможет получить доступ к странице профиля из навигационной панели, это просто перенаправление, которое вызывает проблемы.
Это (я думаю) соответствующий код для контроллера (каталог "src / java / pokedex / controllers / RegistrationController.java")"):
public String processRegistration(User user) {
registrationService.addUser(user);
return "redirect:/profile";
}
@RequestMapping(value = "/profile")
public ModelAndView showProfile() {
return new ModelAndView("/profile", "user",
registrationService.getCurrentUser() != null
? registrationService.getCurrentUser()
: new User("John", "Doe", "johndoe@placeholder.co.uk", "password"));
}
С реализацией registrationService (каталог" src / java / pokedex / services / RegistrationServiceImpl.java ") предоставляется:
package pokedex.services;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pokedex.dao.UserRepository;
import pokedex.entities.User;
@Service
public class RegistrationServiceImpl implements RegistrationService {
private UserRepository userRepository;
private User currentUser;
@Autowired
public RegistrationServiceImpl(UserRepository userRepository) {
this.userRepository = userRepository;
userRepository.save(new User("john", "doe", "john@doe.com", "password"));
}
@Override
public List<User> getUsers() {
return userRepository.findAll();
}
@Override
public void addUser(User user) {
currentUser = user;
userRepository.save(user);
}
@Override
public User getCurrentUser() {
return currentUser;
}
@Override
public int getNumberOfUsers() {
return (int) userRepository.count();
}
}
Что касается страниц, токаталог страницы профиля - "src / resources / templates / profile.html", а страница регистрации - "src / resources / templates / register.html".
Часть, которая может вызывать проблему в profile:
<article>
<section class="profile">
<fieldset>
<legend>User Information</legend>
<table>
<tr>
<td><label>Name:</label></td>
<td th:text="${user.firstName} ?: 'John'">John</td>
<td th:text="${user.lastName} ?: 'Doe'">Doe</td>
</tr>
</table>
<table>
<tr>
<td><label>Email:</label></td>
<td th:text="${user.email} ?: 'johndoe@placeholder.com'">johndoe@placeholder.com</td>
</tr>
</table>
</fieldset>
</section>
</article>
Хотя регистрационная часть в реестре:
<article>
<section class="registration">
<form action="/register" method="post" th:object="${user}">
<fieldset>
<legend>User Information</legend>
<table>
<tr>
<td><label>First name:</label></td>
<td><input type="text" th:field="*{firstName}"/></td>
</tr>
<tr>
<td><label>Last name:</label></td>
<td><input type="text" th:field="*{lastName}"/></td>
</tr>
<tr>
<td><label>Email:</label></td>
<td><input type="email" th:field="*{email}"/></td>
</tr>
<tr>
<td><label>Password:</label></td>
<td><input type="password" th:field="*{password}"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="register"/></td>
</tr>
</table>
</fieldset>
</form>
</section>
</article>
Это то, что мне удалось объединить самостоятельно, и я думаю, что проблемы могут лежать, если у кого-либо есть какие-либо предложения или он хочет увидеть больше кода, который я с радостью предоставлю.
Я заметил, когда загружал это, что IDE (Intellij IDEA) говорил, что не распознает пользовательские поля.(?) в профиле, но это не имеет проблемы с другими объектами, но, насколько я могу судить, они функционально идентичны, так что это может быть перебор.
Если кто-то может указать мне вправильное направление, чтобы избавиться от ошибки, я очень ценю это.