/ / Dodanie bezpieczeństwa do wiosennej usługi internetowej dla hasła - wiosna, usługi sieciowe, wiosna-mvc, wiosna-bezpieczeństwo

Dodanie zabezpieczenia do wiosennego serwisu dla hasła - wiosna, serwisy internetowe, spring-mvc, spring-security

jestem nowy na wiosnę. muszę utworzyć formularz rejestracyjny użytkownika, w którym użytkownik poda swoje podstawowe dane i hasło, które zapisuję bezpośrednio w bazie danych. hasło jest typem ciągu znaków w komponencie bean rejestracyjnym i varchar w bazie danych. Teraz moje podejście polega na tym, że wykonam połączenie serwisowe z telefonu komórkowego lub strony internetowej do tej usługi internetowej i wyślę hasło jako zwykły tekst. Ale myślę, że nie jest to dobry sposób, ponieważ nie ma bezpieczeństwa podczas wysyłania danych za pośrednictwem usługi internetowej, kodu serwera lub bazy danych, hasło to tylko ciąg z kilkoma sprawdzeniami poprawności. Czy istnieje dobre podejście do wykonania tego zadania zgodnie ze standardami branżowymi? Z góry dziękuję.

Chcę też, aby moje hasło nie byłoprzechwycone przez hakerów lub na serwerze. Hasło powinno przejść w postaci zaszyfrowanej od klienta i powinno zostać zapisane w bazie danych. Nikt zarządzający serwerem / DB nie powinien widzieć tego hasła.

Odpowiedzi:

0 dla odpowiedzi № 1

Posługiwać się BCryptPasswordEncoder dostarczone przez Spring Security w celu zaszyfrowania hasła użytkownika i przechowywania zakodowanego ciągu hasła w bazie danych.

Przykład:

@Transactional
@Override
public User create(UserCreateForm form) {
User user = new User();
user.setEmail(form.getEmail());
user.setPasswordHash(new BCryptPasswordEncoder().encode(form.getPassword()));
user.setRole(form.getRole());
return userRepository.save(user);
}