首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R闪亮-R闪亮服务器开源的WebSEAL身份验证

R闪亮-R闪亮服务器开源的WebSEAL身份验证
EN

Stack Overflow用户
提问于 2018-02-06 20:57:14
回答 1查看 528关注 0票数 3

据我理解,开源版本的闪亮服务器不支持身份验证。

我们有一个使用WebSEAL代理服务对用户进行身份验证并将其访问传递到web应用程序的环境。

我们希望向经过身份验证的用户公开Shinyapp,其内容依赖于用户组成员资格。WebSEAL能够将Headers中的iv_useriv_group变量设置为通过连接传递给shinyapp,但开放源码闪亮服务器似乎无法访问它们(即通过会话$clientData对象)。

我想知道是否有人想出了一个开放源码闪亮服务器应用程序访问HTTP头来确定用户和组的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-16 06:37:46

如果您只想访问headers,UI可以是一个函数,它接受实现鲁克规格的请求对象的单个参数。

代码语言:javascript
复制
library(shiny)

ui <- function(request) {
  print(as.list(request))
  # get HTTP headers like request$HTTP_HEADER_NAME (all caps)

  fluidPage(
    tags$pre(
      paste(capture.output(as.list(request)), collapse = "\n")
    )
  )
}

server <- function(input, output) {
}

shinyApp(ui, server)

根据HTTP头提供不同页面的一种方法可能是这样的-

代码语言:javascript
复制
unauthorizedPage <- function() {
  "Unauthorized"
}

memberPage <- function() {
  fluidPage(
    "Member page"
  )
}

ui <- function(request) {
  # serve memberPage() if request contains header `iv_group: member`
  # otherwise serve unauthorizedPage()
  if (!identical(request$HTTP_IV_GROUP, "member"))
    return(unauthorizedPage())

  memberPage()
}

server <- function(input, output) {
}

shinyApp(ui, server)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48651824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档