Как создать страницу входа для блестящего R - PullRequest
0 голосов
/ 06 декабря 2018

Есть ли простой способ для меня создать страницу входа для моего приложения?Я хочу отобразить пользовательский интерфейс с несколькими вкладками (т. Е. fluidPage(navbarPage(tabPanel("tab1", ...), tabPanel("tab2", ...),...)) , условные при успешной аутентификации пользователя. Я инициирую соединение с базой данных с объектом R6, в случае неудачи я печатаю «ошибку»и пользователь может повторить ввод своих учетных данных. Если подключение установлено успешно, я хотел бы отобразить пользовательский интерфейс (ui2), указанный выше.

ui <- fluidPage(fluidRow(column(width=12, textInput('uid', label =                
                        "Enter your user id:"), passwordInput("pwd",
                        label = "Enter your password:"), actionButton("login", 
                        "Login"), uiOutput("resulting_ui"), offset = 5)))

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Запуск приложения Shiny после ввода пароля Это в основном решило мой вопрос.Мне просто нужно было внести небольшие изменения, чтобы заставить его работать.

0 голосов
/ 06 декабря 2018

Если вы уже настроили базу данных, в которой могут храниться имена пользователей и пароли, пользователи могут вводить свои учетные данные, сравнивать их с данными в базе данных и изменять значение reactiveVal() на основе этого сравнения.Значение этого reactiveVal() будет контролировать, показывает ли ваш пользовательский интерфейс или нет.

Например, вы можете использовать что-то вроде этого:

logged <- reactiveVal(value = F)

# change the value of logged() when a user enters correct credentials

output$your_ui <- renderUI({
   req(logged())
   # your ui here...
})

Для более подробного примера посмотрите здесь:
https://github.com/yanirmor/shiny-user-management

...