我正在使用shinyauthr
作为shiny
应用程序的登录.然而,我得到了一个小的灰色矩形,在那里侧边栏将出现,甚至在身份验证之前(图像的左下角).
如何使侧边栏仅在身份验证后出现?这里有一个简单的应用程序来演示:
library(shiny)
library(shinyauthr)
user_base <- tibble::tibble(
user = c("user1"),
password = c("pass1"),
permissions = c("admin"),
name = c("User One")
)
ui <- fluidPage(
div(class = "pull-right", shinyauthr::logoutUI(id = "logout")),
shinyauthr::loginUI(id = "login"),
sidebarLayout(
sidebarPanel(uiOutput("sidebarpanel")),
mainPanel(uiOutput("mainpanel"))
)
)
server <- function(input, output, session) {
credentials <- shinyauthr::loginServer(
id = "login",
data = user_base,
user_col = user,
pwd_col = password,
log_out = reactive(logout_init())
)
logout_init <- shinyauthr::logoutServer(
id = "logout",
active = reactive(credentials()$user_auth)
)
output$sidebarpanel <- renderUI({
req(credentials()$user_auth)
tagList(
numericInput("flank",
"Flank (bp)",
value = 110, min = 0, max = NA),
numericInput("correction",
"Correction (repeats)",
value = 0, min = 0, max = NA)
)
})
output$mainpanel <- renderTable({
req(credentials()$user_auth)
data.frame("Flank" = input$flank,
"Correction" = input$correction)
})
}
shinyApp(ui = ui, server = server)