javascript - 在 Shiny 中获取响应头变量

标签 javascript apache ldap shiny shiny-server

我的 apache 将 LDAP 登录传递给 header 中的变量 X-Remote-User:

enter image description here

但我不知道如何在 Shiny 应用程序中获取它。有任何想法吗?也许解决方案可以是一些 java 脚本?

最佳答案

好的,我解决了。首先在ui.R js函数中包含:

www/js/getLogin.js:

function requestLogin() {
var client = new XMLHttpRequest();
client.open("GET", "yourshinyhostname", true);
client.send();
client.onreadystatechange = function() {
    
var resposne = client.getResponseHeader("X-Remote-User");
Shiny.onInputChange("getLogin", resposne);
}; }

然后您可以通过单击按钮获取 X-Remote-User 值:

ui.R:

includeScript("www/js/getLogin.js"),
uiOutput("login_btn"),
verbatimTextOutput("text")

server.R :

output$login_btn <- renderUI({
  
  HREF <- sprintf('
                  <button id="get_login_btn" value="test" onclick="requestLogin();" >
                  <font color="black">
                  <i class="fa fa-user"></i> Get login
                  </font> 
                  </button>
                  ')
HTML(HREF)
}) 

jsOutput <- reactive({
  input$getLogin
})

output$text <- renderPrint({ 
  jsOutput()
})

关于javascript - 在 Shiny 中获取响应头变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42442936/

相关文章:

javascript - “this” 、 “$this” 和 “$(this)” 有什么区别?

javascript - React 新手 => 元素类型无效 : expected a string

Apache 加载 mod_ssl 但在我的虚拟主机中忽略了 <IfModule mod_ssl.c>

active-directory - 这是扩展 Active Directory 架构的适当理由吗?

javascript - 权限对话框按钮标签是 "Go to app"而不是 "Login with Facebook"

javascript - 使用 React 和 Electron - react 路由器错误

php - Apache 不更新环境变量

ios - 如何使用系留 iPhone 访问 Mac 上的虚拟主机

java - LDAP - Spring Boot |获取 javax.naming.CommunicationException |连接被拒绝

java - 使用 Grails 和 LDAP 自动创建用户详细信息