Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105

Groovy Grails, spring security and two factor authentication

25.06.2015, 13:28. Показов 1342. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Область довольно узкая, но может кто делал подобную вещь )

Появилась цель сделать двухфакторную аутентификацию. Собственно в чем вопрос.

Имеются таблицы Role, User, UserRole - все по стандарту.
А в bootstrap.groovy имеем :

Java
1
2
3
def adminRole = new Role(authority: 'ROLE_ADMIN').save(flush: true, failOnError: true)
def adminUser = new User(username: 'admin', password: 'admin').save(flush: true, failOnError: true)
UserRole.create(adminUser, adminRole, true)
Далее, я делаю так, что после первого шага присваивалась роль "ROLE_PRE_AUTH", а после второго уже выдавались полные права, наследуюсь от GormUserDetailsService :

Java
1
2
3
4
@Override
    protected UserDetails createUserDetails(def user, Collection<GrantedAuthority> authorities) {
            return super.createUserDetails(user, PRE_AUTH_ROLES)
    }
Переопределяю фильтр, провайдера и т.д.
Если проверить саму админку, то вроде как все ок. Дальше не пускает, требует кода подтверждения.

НО в чем проблема.
Если кинуть пост-запрос на /api/login , получаем в ответ :
JSON
1
2
3
4
5
6
{
   "username": "admin",
   "roles": ["ROLE_PRE_AUTH"],
   "access_token": "p76qjfrrlm0061s5d57guojea22to0c2",
   "token_type": "Bearer"
}
Вроде как правильно, но если дальше кинуть запрос от этого токена к сервисам, которым нужны права ROLE_ADMIN, то он пускает, как будто бы он залогинен полностью, то есть с АПИ полный провал получается

Может кто-нибудь хоть направить сможет, а то я хз уже

Добавлено через 13 минут
И вот такой вопрос, как бы вы посоветовали оформить апи для двухфакторной аутентификации? (входные/выходные параметры для запросов)
Логика такая - пользователь вводит username / password, далее вводит код, который был выслан на его телефон.

Добавлено через 8 минут
И вообще, должен ли по логике выдаваться токен после первого шага?
Сейчас вот пришла идея, что если формат json-ответа изменить, не возвращать токен после первого шага, то проблема должна решиться.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.06.2015, 13:28
Ответы с готовыми решениями:

Groovy Spring Tool Suite при работе с Grails
Пытаюсь написать простейший код на Grails. Есть несколько проблем с STS. Ну или не с ней, кто знает,подскажите. Я только сегодня скачал ее...

Spring Security Plugin (Grails)
Как сброисть url после входа в систему, т.е. у меня есть ресурс на котором определенное право доступа, если нету доступа перенаправляет на...

Oauth2 authentication with spring security
Доброго времени суток, я пытаюсь сделать на своем сайте авторизацию с помощью других сервисов. На данный момент есть google, facebook и vk....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.06.2015, 13:28
Помогаю со студенческими работами здесь

Groovy На Grails 3.3 создать приложение без моделей с одним контроллером Hello, и action "world "
Всем привет! Вот задали такое задание: На Grails 3.3 создать приложение без моделей с одним контроллером Hello, и action &quot;world...

Jetty embedded + Spring MVC + Spring Security
Добрый день. По роду работы приходилось писать на JavaSE, в том числе и сложные клиент/серверные программы. Использовал Netty, Apache...

Spring + Basic Authentication -- Retrofit 2
Всем доброго... Воюю с настройка авторизации Spring + Basic Authentication на сервере и Retrofit 2 на клиенте... Пака что...

JWT Authentication using Spring Boot
Всем привет. Имеется spring boot приложение c jwt авторизацией/аутентификацией (spring secuity). Оно работает, делал его по туториалу....

Spring. Тесты и Spring-security
Вопрос из области почему так. Есть у меня такой вот тест: @ContextConfiguration(locations =...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru