我想注销和身份验证屏幕出现时,用户点击一个按钮。
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)
我发现shinymanager的默认注销按钮在右下角有id = ".shinymanager_logout"
,所以我尝试用session$sendCustomMessage(".shinymanager_logout", 1)
调用它。
如何使用自定义注销按钮注销用户?
2条答案
按热度按时间2izufjch1#
最简单的方法是使用
session$reload()
重新加载shiny会话,因此在您的示例中:但也许我们可以在包中实现一些东西,你可以在本期评论:https://github.com/datastorm-open/shinymanager/issues/7
tyky79it2#
在函数
secure_server
中,按钮.shinymanager_logout
触发以下代码:因此,我认为您可以使用自定义注销按钮注销用户,方法是将
session$input$.shinymanager_logout
替换为自定义注销按钮id。