Или в терминах гексагональной архитектуры, и контроллер, и репозиторий - это инфраструктурные адаптеры, но первый - транспортный (потому что веб), а второй - к БД.
ну в pure MVC 2010 годов никакого инфраструктурного слоя не было, был DAO, потом стали использовать Repository, но слой называли DAO, а не инфраструктурный.
В контроллере сервис, в сервисе репозиторий, полностью корректно. У нас в вебе пользователя берут из кук, поэтому всегда можно придумать сервис, который без передачи параметра будет возвращать текущего пользователя, если он залогинен.