Создать пользователя root-администратораJAVA

Программисты JAVA общаются здесь
Anonymous
Создать пользователя root-администратора

Сообщение Anonymous »

Как мне создать начального пользователя-администратора в моем приложении Spring Boot 4?
  • Сначала моя конечная точка регистрации просто принимала массив ролей в DTO. Но я пришел к выводу, что это плохая идея.
  • Затем я подумал о вставке этого в Liquibase YAML. Но в самом приложении (BCrypt) есть функция хеширования паролей, поэтому я не представляю, как ее можно воспроизвести в YAML. Если только я не получу хэш внешними средствами (в Интернете доступны веб-сервисы BCrypt) и просто жестко закодирую его в YAML. Но все равно мне пришлось бы вручную вставлять в таблицу соединения ролей пользователя ( — отдельная таблица, обязательно). Я даже не уверен, как это сделать в Liquibase YAML без жесткого кодирования UUID роли администратора и пользователя-администратора — на данный момент они генерируются с помощью valueComputed: "gen_random_uuid()". Думаю, я мог бы проделать еще один трюк с valueComputed, но это будет выглядеть некрасиво.
  • Теоретически я мог бы прослушать какое-нибудь событие Spring (например, ApplicationReadyEvent) и вставить туда обе роли и корневого администратора (сначала убедившись, что они еще не существуют). Или включите его в CommandLineRunner. Другими словами, интегрируйте его в некоторую логику запуска Spring. Имя пользователя и пароль администратора могут храниться в файле свойств.
В любом случае, какой способ, по вашему мнению, является наиболее подходящим? Вам не обязательно выбирать один из моих подходов.
Это не обязательно должна быть «лучшая практика», готовая к использованию, если это разумно. Это проект для подачи заявления о приеме на работу (а не Google или другая компания, занимающаяся модными штанами).

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