Innanzitutto è sbagliato tirare dentro direttamente il spring-security-core. Anche la versione è comunque inappropriata, perché 6.3.1 vuol dire Spring Framework 6.x mentre invece Spring Boot 2 è allineato a Spring Framework 5.x.
Il modo corretto è usare lo starter apposito.
codice:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Per il resto, basta seguire la documentazione: 8.4. Spring Security
La questione è similare anche per Hibernate, è meglio usare lo starter apposito:
codice:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>