Каким образом лучше создать администратора в Spring Boot проекте?
Приветствую всех. Я делаю небольшой учебный проект RESTfull API в виде информационного портала. Фронт я написал самостоятельно (html+css+js+немножко бурстрапа). Рест выбрал по причине всё большей популярности, раз уж учиться, то учиться тому, что нужно в текущее время.
В общем перейду к сути проблемы: сайт - это несколько страничек с статьями, общей информацией, картинками, и.т.д. - короче ничего сверхъествественного, и никакой магической логики нету. Я решил реализовать администратора, ведь кто - то должен редактировать эти статьи, тут то и упёрся. Никак не пойму, как правильно реализовать это? Всё что я находил - было о спринг секьюрити и раздаче ролей пользователям, но мне не нужно никаких пользователей, мне нужен только админ сайта. Как это правильно реализовывается? В какую мне сторону нужно посмотреть?
P.S. Мне несколько человек советовало не использовать спринг для этого, а взять что - то попроще, типа джанго или фласка, но я изучаю джаву, и хотел бы освоить спринг.
Приветствую, коллега!
Да, Spring посложнее, чем Django. Но раз тебе удобно писать именно на нем, то конечно же стоит писать backend на нем.
И да, если уж делать проект по-хорошему, то тебе нужен Spring Security. Тебе нужно создать роль ADMIN.
Так как проект простой, то можешь использовать In-Memory Auth.
Так как ты пишешь REST, то скорее всего тебе нужно будет реализовать jwt auth.
Чтобы по умолчанию при старте приложения создать пользователя, можешь имплементировать интерфейс CommandLineRunner и в методе run() создать юзеров и сохранить в БД.
Зачем мне вообще нужно там создавать пользователей, тащить базу данных для этого, и прикручивать секьюрити, тем более у меня REST. Я подумываю над тем, чтобы создать какой то CLI для работы с базой данных напрямую, без использования спринга вообще. Напрямую админ пишет в базу, меняет там через какую нибудь апиху. Это нормально так делать?
Константин, Если вы изучаете спринг, то почему бы не использовать Spring security для этого дела, так же можете взглянуть в сторону Jax-rs. К чему вам вообще подобный костыль? Вы можете использовать камень, чтобы вбить гвоздь в стену? Конечно, вы можете. Но зачем вам это делать, если у вас есть молоток? Использование правильного инструмента сделает вашу жизнь намного проще.