Я использую Spring Data Rest для представления репозиториев JPA нашему клиентскому приложению React. И я также использую Spring Security и JWT для защиты REST API.
Например, у нас есть Entity и Repository, как показано ниже:
@Entity
@Table(name = "customer")
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
....
}
public interface CustomerRepository extends PagingAndSortingRepository<Customer, Long> {
}
Spring Data Rest предоставит CustomerRepository конечной точке REST /api/customers
Таким образом, наше приложение React может вызывать конечные точки REST для получения данных. Это работает хорошо.
Однако кто-то с действительным токеном JWT может использовать такие инструменты, как Postman, для получения всех данных клиентов с серверов. Конечно, мы не хотим, чтобы это произошло.
Мои вопросы:
- Как мы можем предотвратить такое ненормальное использование?
- Как лучше всего использовать Spring Data Rest?