Создать пользователя 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»