Как остановить рендеринг документа Rmarkdown в реактивном контексте? - PullRequest
0 голосов
/ 18 октября 2019

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

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var response = req.getResponseHeader("INTERNAL_USER");
Shiny.setInputValue("userid", response);

Это делает input$userid доступным в блестящем контексте. Если их нет в списке, я хочу оставить им записку о том, что у них нет разрешения на чтение документа, а затем запустить knitr::knit_exit(). К сожалению, я не могу заставить это работать из реактивного контекста. Команда оказывается совершенно неэффективной (ничего не делает) из реактивного блока.

Я что-то упустил или есть другой подход?

...