2 / 2 / 2
Регистрация: 20.01.2017
Сообщений: 41

Создание регистрации и аутентификации spring. Логика регистрации и авторизации

21.02.2017, 17:08. Показов 5346. Ответов 3

Author24 — интернет-сервис помощи студентам
Для регистрации юзера на сервер приходят данные в json формате(логин пароль подтвержденный пароль).
Принимаю их на контроллер на маппинг /registration
Создаю валидатор который будет делать различные проверки (пароль не меньше 8 символов и тд)
Правильная архитектура или через спринг секьюрити можно эффективнее ?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@RestController
public class UserController {
    @Autowired private UserService userService;
    @Autowired private SecurityService securityService;
    @Autowired private UserValidator userValidator;
 
    @RequestMapping(value = "/registration", method = RequestMethod.POST)
    public String registration(RegistrationPresentation registrationPresentation) {
        userValidator.validate(registrationPresentation);
 
        if (bindingResult.hasErrors()) {
            return "not registration";
        }
 
        userService.save(registrationPresentation);
 
        securityService.autoLogin(registrationPresentation.getLogin(), registrationPresentation.getConfirmPassword());
 
        return "registration";
    }
 
    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String login(RegistrationPresentation registrationPresentation) {
 
        return "login";
    }
}
Также создал начальные настройки для конфига секьюрити
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@Configuration
@EnableWebSecurity
public class WebSecurityConfig  extends WebSecurityConfigurerAdapter {
    @Autowired
    private UserDetailsService userDetailsService;
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
    }
 
    @Bean
    public BCryptPasswordEncoder bCryptPasswordEncoder() {
        return new BCryptPasswordEncoder();
    }
 
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/registration").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
                .logout()
                .permitAll();
    }
}
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.02.2017, 17:08
Ответы с готовыми решениями:

Существует ли security struct или wicket для регистрации и авторизации пользователей, как в spring?
существует security struct или wicket для регистрации и авторизации пользователей как в spring?

Сервлеты, реализация регистрации и авторизации [Firebase]
Приветствую. У меня есть небольшое клиент-серверное приложение. На сервере есть апи, через которое клиент получает/отдает данные. ...

[Spring Security] Отловить баг в аутентификации
Ничего не менял в конфигах SS, но перестали подходить валидные пары username - password. Кидает на ту же страницу(логина) с error'ом. В...

3
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.02.2017, 17:46
погугли @Validated, например
1
2 / 2 / 2
Регистрация: 20.01.2017
Сообщений: 41
21.02.2017, 19:08  [ТС]
xoraxax, только начал spring security, проблема в том что: у меня сервер общается с клиентом только json объектам(конвертер джэксон добавил) и все настройки по секьюрити должен делать в слоях сервера(конфиг, сервисы...), но примеры которые нахожу связаны с jsp и тп, в которых донастраивается спринг секьюрити. Трудно сориентироваться как переделать под себе, уже три проекта хотел влить в свой. Из чего, то знаний не хватает, то ошибка из ошибки
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
21.02.2017, 19:23
Лучший ответ Сообщение было отмечено new_wave как решение

Решение

validation это не про security, это вообще
https://g00glen00b.be/validati... th-spring/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2017, 19:23
Помогаю со студенческими работами здесь

Autowired менеджера аутентификации в Spring Security Filter
Доброго дня! Интегрирую токеновую аутентификацию через Spring Security в уже существующий проект на Spring+Hibernate с конфигом в xml. ...

Логика слоев spring mvc
Здравствуйте. Нажна помощь, точнее небольшое разъяснение. 1) Слой @repository вытягивает entity из бд, делает update, и создает...

В каком элементе MVC должна обрабатываться логика регистрации и авторизации?
Доброго всем времени суток уважаемые форумчане! Вот начал изучать ООП в php с использованием MVC. И у меня возник вопрос: как сделать если...

Создание регистрации/авторизации
Всем привет,суть задачи такова, необходимо создать окно авторизации и регистрации. Регистрация должна заносить данные в БД Access, а при...

Создание системы регистрации/авторизации
Фабула ----------------------------------------------------------------------------------------------------------------------------- ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru