Проблемы с логикой создания пользователей с разными типами данных с помощью jwt в Springboot API.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблемы с логикой создания пользователей с разными типами данных с помощью jwt в Springboot API.

Сообщение Anonymous »

Итак, по сути, у меня есть таблица под названием «Пользователи», в которой уже есть логика токена jwt и все такое, в таблице есть имя пользователя, пароль, адрес электронной почты и статус (чтобы я мог видеть, активен ли пользователь или нет, а не просто удалив ее из базы данных), эта таблица работает для одного типа пользователей, но у меня их несколько, поэтому у меня есть еще одна таблица под названием admins, которая добавляет только компанию, в которой они работают, у меня есть ветеринарная, которая добавляет больше данных, и клиент, который добавляет разные данные.
По сути, 3 таблицы простираются от пользователей, но я не понимаю, как я могу сделать так, чтобы вход в систему, скажем, для клиента, заполнял данные пользователя и генерировал jwt, а также заполняет данные в клиентской таблице в базе данных.
это мой код для входа пользователя

Код: Выделить всё

package com.ApiRestfulBackendVet.ApiRestfulBackendVet.Auth;

import com.ApiRestfulBackendVet.ApiRestfulBackendVet.user.role;
import com.ApiRestfulBackendVet.ApiRestfulBackendVet.user.user;
import lombok.RequiredArgsConstructor;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
import com.ApiRestfulBackendVet.ApiRestfulBackendVet.Jwt.jwtService;
import com.ApiRestfulBackendVet.ApiRestfulBackendVet.user.userRepository;
import com.ApiRestfulBackendVet.ApiRestfulBackendVet.Config.ApplicationConfig;
import org.springframework.security.crypto.password.PasswordEncoder;
import com.ApiRestfulBackendVet.ApiRestfulBackendVet.repositories.IAdminRepository;
import javax.management.relation.Role;

@Service
@RequiredArgsConstructor
public class authService {

private final userRepository userRepository;
private final jwtService jwtService;
private final PasswordEncoder passwordEncoder;
private final AuthenticationManager authenticationManager;
private final IAdminRepository adminRepository;

public authResponse login (loginRequest request) {
authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(request.getUsername(), request.getContraseña()));
UserDetails userDetails = userRepository.findByUsername(request.getUsername()).orElseThrow();
String token = jwtService.getToken(userDetails);
return authResponse.builder()
.token(token)
.build();
}
//Register admindios
public authResponse register (registerRequest request) {
user user1 = user.builder()
.email(request.getEmail())
.username(request.getUsername())
.contrasena(passwordEncoder.encode( request.getContraseña()))
.role(role.ADMINDIOS)
.build();

userRepository.save(user1);

return authResponse.builder()
.token(jwtService.getToken(user1))
.build();
}

}
это служба
Я пытался сделать то же самое, используя только вход пользователя, но я не знаю, как заставить его выполнять как вход пользователя, так и вход пользователя. и процессы генерации jwt и сохранение в базе данных другой информации

Подробнее здесь: https://stackoverflow.com/questions/790 ... a-with-jwt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»