我正在托管由Shiny支持的Rmarkdown文档。我想控制谁看到内容。 Web服务器用唯一的ID标识每个用户,我想将其与允许的用户列表进行比较。我知道从服务器获取此信息的唯一方法是在文档顶部运行以下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()
。不幸的是,我无法从被动上下文中使它起作用。从反应块内部看,该命令似乎完全无效(什么也不做)。
我错过了什么吗?还是还有其他方法?