У меня есть приложение QA Shiny Dashboard, которое имеет основной набор данных, который должен фильтровать строки, используемые в последующих таблицах / картах, в соответствии с данными для входа в систему пользователя.
Например: если пользователь входит в систему с определенным именем пользователя (location@email.com) затем реактивная функция выбирает строки, содержащие это имя пользователя, и передает их блестящему приложению для рендеринга.
Пример базового c предпосылки:
username <- "location@email.com"
new_dataset <- filter(dataset, column %like% username
output$table <- renderTable ({
new_dataset
)}
Я используя блестящий авторский пакет для создания этого, но у меня возникают трудности с передачей данных для входа пользователя, созданных встроенными функциями Shinyauthr, в реактивную функцию. Код ниже:
users <- data.frame(user= c("user1", "user2", "user3"),
password = c("pass1", "pass2", "pass3"),
stringsAsFactors = FALSE)
ui <- dashboardPage(
dashboardHeader(
title = "QA App",
tags$li(class = "dropdown", style = "padding: 8px;", shinyauthr::logoutUI("logout"))
),
dashboardSidebar(
collapsed = TRUE, sidebarMenuOutput("sidebar")
),
dashboardBody(
shinyjs::useShinyjs(),
# shinyauthr login ui module here
shinyauthr::loginUI("login"),
tabItems(
tabItem("tab", uiOutput("tab1_ui"))
)
)
)
server <- function(input, output) {
credentials <- callModule(shinyauthr::login, "login",
data = users,
user_col = user,
pwd_col = password,
sodium_hashed = FALSE,
log_out = reactive(logout_init()))
# logout status managed by shinyauthr module and stored here
logout_init <- callModule(shinyauthr::logout, "logout", reactive(credentials()$user_auth))
output$sidebar <- renderMenu({
req(credentials()$user_auth)
sidebarMenu(
menuItem("Tab", tabName = "tab", icon = icon("arrows-alt-v"))
)
})
output$tab1_ui <- renderUI({
req(credentials()$user_auth)
fluidPage(
mainPanel(
tableOutput("table"),
)
)
})
}
shinyApp(ui = ui, server = server)
I w * sh, чтобы создать реактивную функцию, которая будет отображать этот новый_данный набор данных и передавать его на выход таблицы в пользовательском интерфейсе. Вопрос в том, как получить доступ к учетным данным пользователя в виде строк символов для использования при фильтрации?