Как добавить повторно используемую проверку или ограничение "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?