Bonjour à tous,

Je souhaiterais savoir (dans un contexte entreprise) s'il existait des fonctions dans R-Shiny permettant d'avoir accès à différents contenus d'une même application via un processus d'authentification.

Par exemple, soit A un manager, B un salarié.
- Processus d'authentification (login, mot de passe)
- Processus de vérification permettant d'identifier si l'utilisateur est un A ou un B.
- Si A, alors contenu de l'application "fourni"
Sinon B, alors application au contenu "léger"

Quelque chose de ce style : https://appsilon.com/user-authentica...dmin-packages/.




Par ailleurs, si les utilisateurs sont définis (username, password) dans le corps du code R (je reprends l'exemple du site ci-dessus) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
demo_users <- list(
  list(
    username = "user1", 
    password= "pass1", 
    roles = list("basic", "admin")
  ),
  list(
    username = "user2", 
    password = "pass2", 
    roles = list("basic")
  )
)
 
ui <- shinyUI(fluidPage(
  div(class = "container", style = "padding: 4em",
    login_screen_ui('login_screen'),
    uiOutput("authorized_content")
  )
))
 
server <- shinyServer(function(input, output) {
  users <- initialize_users(demo_users)
  callModule(login_screen, 'login_screen', users)
 
  output$authorized_content <- renderUI({
    if (!is.null(users$user()) {
      ... # application content
    }
  })
})
Est-il possible de sécuriser l'application app.R (d'un mot de passe) pour ne pas que les utilisateurs aient accès au contenu du code R (et donc des identifiants/mots de passes) mais lancer tout de même l'application ?

Je sais que shinyapps.io (et certainement d'autres type ShinyServer) propose un service d'authentification + héberge l'application mais les données étant confidentielles, nous utilisons notre propre serveur et donc chaque utilisateur a R-Studio d'installé sur ses machines.

En espérant avoir été clair,
Merci d'avance