Выйти из системы глянцевый менеджер, нажав на кнопку - PullRequest
1 голос
/ 31 марта 2020

Я хотел бы выйти из системы и отобразить экран авторизации, когда пользователь нажимает кнопку.

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)

Я обнаружил, что кнопка выхода из системы по умолчанию от глянцевого менеджера в правом нижнем углу имеет значение id = ".shinymanager_logout", поэтому я пытался назвать это с session$sendCustomMessage(".shinymanager_logout", 1). Это, вероятно, очень наивный способ.

Как выйти из системы с помощью пользовательской кнопки выхода?

1 Ответ

1 голос
/ 31 марта 2020

Самый простой способ сделать это - перезагрузить блестящий сеанс с session$reload(), поэтому в вашем примере:

observeEvent(input$action_logout, {
  session$reload()
}) 

Но, возможно, мы сможем реализовать что-то в пакете, вы можете прокомментировать в этом выпуске : https://github.com/datastorm-open/shinymanager/issues/7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...