我希望当用户单击按钮时出现注销和身份验证屏幕。
credentials <- data.frame(
user = "x",
password = "x"
)
library(shiny)
library(shinymanager)
ui <- fluidPage(
tags$h2("My secure application"),
actionButton("action_logout", "Logout!")
)
ui <- secure_app(ui)
server <- function(input, output, session) {
res_auth <- secure_server(
check_credentials = check_credentials(credentials)
)
observeEvent(input$action_logout, {
# logout
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
我发现shinymanager的右下角默认的注销按钮有id = ".shinymanager_logout",所以我尝试用 来调用它session$sendCustomMessage(".shinymanager_logout", 1)。这或许是一种非常幼稚的方式。
如何使用自定义注销按钮注销用户?
最简单的方法是使用 重新加载闪亮会话session$reload(),因此在您的示例中:
observeEvent(input$action_logout, {
session$reload()
})
Run Code Online (Sandbox Code Playgroud)
但也许我们可以在包中实现一些东西,您可以在本期评论: https: //github.com/datastorm-open/shinymanager/issues/7