首页 > 解决方案 > 如何将用户输入的密码保存在闪亮的应用程序中

问题描述

我有shiny下面的应用程序,其中启用了给定数据库连接的密码时。这种连接是通过大量密码启用的,这些密码只有数据库管理员知道。因此,每次用户输入错误密码时,都会显示一条消息。我想要实现的是找到一种方法(可能是弹出消息),使用户能够保存此密码以供以后使用,这样他就不必每次都输入它。这是一个javascript作品吗?

library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyjs)
library(odbc)
mytitle <- paste0("Life, Death & Statins")
dbHeader <- dashboardHeaderPlus(
  titleWidth = "0px"
)


shinyApp(
  ui = dashboardPagePlus(
    header = dbHeader,
    sidebar = dashboardSidebar(width = "0px"
    ),
    body = dashboardBody(
      
      useShinyjs(),
      tags$script(HTML("$('body').addClass('fixed');")),
      
      tags$head(tags$style(".skin-blue .main-header .logo { padding: 0px;}")),
      passwordInput("pwd",label = "",value = "",width = "100%" ),
      actionButton('button', "Continue"),
      uiOutput("error")
    )
    
    
  ),
  server<-shinyServer(function(input, output,session) { 
    hide(selector = "body > div > header > nav > a")
    con <- try( dbConnect( odbc(),
                           driver   = "SQL Server",
                           database = "databasename",
                           server   = svr,
                           port     = 1433,
                           UID      = "uid",
                           PWD      = input$pwd))
    observeEvent(input$button, {
      if( class(con) != "try-error" ) {
        # OK code
      }
      else{
        output$error<-renderUI({
          "Please re-enter database browser password"
        })
      }
      
      
      
    })
  }
  )
)

标签: javascriptrshinypasswords

解决方案


推荐阅读