Двухфакторная аутентификация в Grails - PullRequest
0 голосов
/ 10 апреля 2019

Мне нужен способ реализации двухфакторной аутентификации.Когда пользователь вводит свое имя пользователя и пароль, он перемещает их на другую страницу, где ему предоставляется временная роль, а затем его просят ввести маркер безопасности, который будет отправлен ему по электронной почте. авторизованное изображение

изображение входа

1 Ответ

0 голосов
/ 18 апреля 2019

Я был там и обнаружил, что это довольно легко реализовать в основном в пользовательском коде, если вы работаете в обычном веб-приложении старой школы.Я думаю, что весной есть что-то, что позволяет вам сделать это, но в зависимости от вашего приложения это может быть намного проще сделать самостоятельно, и даже не так сложно.

Один из способов - создать фильтр grails.это охватывает все маршруты, которые затронуты этим.Например, все, кроме страницы входа и второй страницы после этого.Этот фильтр проверит временную роль и, если найден, перенаправит на вторую страницу авторизации.В противном случае он пропускает запрос.Может быть что-то вроде этого:

twoFactorCheck(controller: '*', controllerExclude: 'privacyPolicy|login|logout|2factor', action: '*') {

    before = {

        if (process2factorAuthNeed()) {
            return true;
        }

        redirect(controller: "2factor", action: "index");
        return false;

    }
}

Тогда еще одна вещь, которая вам нужна, это реализация пользовательского UserDetailsService, где вы можете захватить первую обычную аутентификацию и установить временную роль для пользователя.Это описано здесь: https://grails -plugins.github.io / grails-spring-security-core / 2.0.x / guide / userDetailsService.html если вы находитесь на Grails 2. * но ваша весенняя безопасностьВ плагин версии руководства пользователя также будет эта запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...