【问题标题】:Shiny dashboard with user authentication [duplicate]带有用户身份验证的闪亮仪表板[重复]
【发布时间】:2018-11-08 23:34:48
【问题描述】:

我正在制作一个闪亮的应用程序,它会显示一个仪表板,但在此之前,它会要求用户登录。有两个用户界面,ui_login 和 ui_app,但是在 ui_app 中,如果我使用流体页面/固定页面或其他一些而不是仪表板页面,它工作正常。登录后有什么方法可以显示dashboardPage。

library(shiny)
library(shinydashboard)

my_username = "user"
my_password = "pass"

ui <- uiOutput("page")

ui_login <- fluidPage(
  div(
    textInput("username", "Username"),
    passwordInput("passwd", "Password"),
    br(),
    actionButton("Login", "Log In"),
    uiOutput("invalid")
  )
)

ui_app <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody()
)

server <- function(input, output, session) {
  #app server code-----

  observe({
    if(USER$Logged == FALSE) {
      if(!is.null(input$Login)) {
        if(input$Login > 0) {
          Username <- isolate(input$username)
          Password <- isolate(input$passwd)
          if((Username == my_username) & (Password == my_password)){
            USER$Logged = TRUE
          }
          else {
            output$invalid <- renderUI(h4("Please enter valid login credentials!", style="color:red;"))
          }
        }
      }
    }
    else {
      output$invalid <- renderUI(h4("Please enter valid login credentials!", style="color:red;"))
    }
  })
  observe({
    if(USER$Logged == FALSE) {
      output$page <- renderUI(ui_login) 
    }
    else {
      output$page <- renderUI(ui_app) 
    }
  })
}
shinyApp(ui, server)

【问题讨论】:

  • 我可以建议使用shiny modal登录页面

标签: r shiny shinydashboard


【解决方案1】:

我最近编写了一个 R 包,它提供了可以与 shinydashboard 集成的登录/注销模块。

Example app

Package repo

包 repo 中的 inst/ 目录包含示例应用程序的代码。

【讨论】:

    猜你喜欢
    • 2017-11-26
    • 1970-01-01
    • 2016-07-11
    • 2020-06-10
    • 2019-05-20
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多