Я серьезно пытаюсь заставить мою flexdashboard (Markdown) работать с параметрами пароля. Я прошел через несколько итераций, и самое близкое, что у меня есть, - это DialgueModule, появляющийся при переходе к уценке.
Мой текущий код выполняет такие итерации.
---
title: "MyMarkdown_v1"
date: "January 10, 2019"
output: html_document
params:
password: pw<-getPass(msg = "Enter the Password, please!")
---
```{r global, echo=FALSE}
rmarkdown::render("SecretDocument.Rmd", params=list(pass=pw))
Это успешно вызывает параметры, но онлайн в среде IDE (при использовании «Вязать с параметрами»). Затем он работает по желанию, вызывая файл .Rmd, к которому я хочу, чтобы авторизованные пользователи имели доступ.
Однако похоже, что после публикации (вне среды IDE) страница отображает файл .Rmd без параметров. Смотрел здесь и здесь. Но это появляется, что для рендеринга файлов .Rmd с параметрами требуется платная услуга (например, RStudio Connect). Это правда? Если нет, как мне открыть документ с помощью требования getPass в Интернете (например, RPubs)?
Конечно, если кто-нибудь знает, как передать требования аутентификации (например, пароль) напрямую в flexdashboard, это было бы здорово.
Если вы визуализируете документ в среде, которая явно не передает params, тогда документ использует то, что вы назначили в заголовке yaml. Один трюк, который я делаю (чтобы предотвратить подобное), - это вставить фиктивные переменные в yaml и искать эти константы в первом блоке. Поскольку вы хотите "поручить" передачу параметров, это один из способов принудительного выполнения этого, поскольку вы можете мгновенно узнать, были или не были переданы params.





Обновление - не уверен, что это «исправление». Я могу использовать два файла .Rmd и в первом передать функцию getPass для рендеринга второго. Тем не менее, мне все равно нужно оставить фактический пароль в документе, что нежелательно. Есть ли лучший вариант, чем substr для проверки пользовательского ввода?