Как добавить повторно используемую проверку или ограничение "sudo" с помощью deadbolt2 в контексте "Запомнить меня"?

При реализации функции "Запомнить меня" в приложении Scala Play мы имеем ситуацию, когда пользователь, вошедший в систему с использованием существующего файла cookie, пытается получить доступ к конфиденциальному действию, например, к способам оплаты или около того. Чтобы предотвратить потенциальный риск вора, который украл cookie и хочет сделать это, у нас есть эта роль "SUDO" или, скорее, ограничение, и код выглядит следующим образом:

@Restrict(@Group(Application.USER_ROLE))
public Result restrictedForbidCookie() {
    final User localUser = this.userProvider.getUser(session());
    if(auth.isAuthorizedWithCookie(ctx())) {
        ctx().flash().put("error", "Please type password again to access requested page");
        return redirect(this.auth.getResolver().relogin());
    }
    return ok(restrictedForbidCookie.render(this.userProvider, localUser));
}

Я хотел бы заменить это:

@Restrict(@Precheck(Application.USER_ROLE && Application.SUDO_CHECK))
public Result restrictedForbidCookie() {
    final User localUser = this.userProvider.getUser(session());
    return ok(restrictedForbidCookie.render(this.userProvider, localUser));
}

и "Предварительная проверка", являющаяся кодом класса аннотации многократного использования "Запретить проверку cookie Судо", где-то выполняется шаблон:

if(auth.isAuthorizedWithCookie(ctx())) {
    ctx().flash().put("error", "Please type password again to access requested page");
    return redirect(this.auth.getResolver().relogin());
}

Как мне лучше покрыть этот сценарий использования Deadbolt2?

0 ответов

Другие вопросы по тегам