Как реализовать регистрацию пользователей, построенную на полиморфизме в Spring Security?
У меня есть базовый класс User и его наследники. Чтобы зарегистрировать пользователя, нужно реализовать UserDetails и UserDetailsService. Как я могу регистрировать пользователей с конкретной ролью? Хотел для каждой роли(сущности) сделать отдельные формы регистрации, но это не оптимально.
@Getter
@Setter
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
@Entity(name = "usr")
@Inheritance(strategy = InheritanceType.JOINED)
public class User implements UserDetails, Serializable {}
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@NoArgsConstructor
@Entity
@Table(name = "student", schema = "public")
public class Student extends User {}
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@NoArgsConstructor
@Entity
@Table(name = "hr_manager", schema = "public")
public class HrManager extends User {}
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@NoArgsConstructor
@Entity
@Table(name = "director", schema = "public")
public class Director extends User {}
И как это сделать через @Inheritance?
