Там, где необходимо исправить проверку пользователя для дублирования электронной почты в базе данных, использовать пружинную защиту mvc webapp, сформировать домашний вход в систему - PullRequest
0 голосов
/ 26 октября 2019

Проверка безопасности пользователя по электронной почте работает корректно. Но я могу добавить нового пользователя с повторяющейся электронной почтой. И пароль userEntity правильный шифровать. Может потребоваться метод UserService перед userRepository.save (user);вставьте галочку «если», поэтому userRepository.findUserByEmail (user.getEmail);если я возьму "true" после исключения catch со строкой "email dublicate"? нужно видеть как это сообщение в regForm.jsp в браузере

Ответы [ 2 ]

0 голосов
/ 26 октября 2019

Я думаю, это поможет вам

@Entity 
public class Contact implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
protected String firstName;
@NotNull
protected String lastName;
@Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\."
    +"[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@"
    +"(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?",
         message="{invalid.email}")
protected String email;
@Pattern(regexp="^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$",
         message="{invalid.phonenumber}")
protected String mobilePhone;
@Pattern(regexp="^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$",
         message="{invalid.phonenumber}")
protected String homePhone;
@Temporal(javax.persistence.TemporalType.DATE)
@Past
protected Date birthday;
... 
}
0 голосов
/ 26 октября 2019

Возможно, хорошим подходом является, например, принудительное применение уникальной электронной почты на уровне объекта. Email constraint and unique on User table

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...