2017-09-06 1 views
1

Est-il possible de désactiver le masquage dans la fenêtre pop-up rstudioapi :: askForPassword afin qu'un utilisateur puisse entrer son nom d'utilisateur?rstudioapi askForPassword sans masquage pour l'entrée du nom d'utilisateur

Je construis une fonction que je peux partager avec mon équipe pour se connecter à notre instance Oracle DB en utilisant le pacakge de ROracle

solution actuelle,

connection <- dbConnect(
    driver 
    , username = rstudioapi::askForPassword(prompt = 'Please enter username: ') 
    , password = rstudioapi::askForPassword(prompt = 'Password: ') 
    , dbname = 'my.connection.string' 
) 

, ce qui ouvre l'invite suivante: (image in link)

qui est la solution décrite dans le RStudio database docs that uses the Rstudio api

Souhaitez-vous financer une solution qui ne masque pas le mot de passe mais qui affiche la même invite (une seule ligne de code si possible ...)

+0

La fonction que vous utilisez ne permet pas l'entrée non masquée, pourquoi ne pas utiliser 'readline()' from base? Si vous en avez besoin pour être graphique, écrire un gadget brillant ('miniUI') est trivial. –

+0

ne pas utiliser readline à partir de la base, car plus facile pour les utilisateurs de mon équipe de voir le modal pop up (mais admettre son possible de l'utiliser). se penchera sur le cas d'utilisation gadget brillant, ont seulement utilisé brillant pour les applications web à part entière – blakiseskream

+0

aperçu aperçu signalé une erreur virustotal pour mon organisation si simplement attendre d'approbation, puis aller le déployer à mon équipe – blakiseskream

Répondre

1

Si vous utilisez la version d'aperçu de RStudio (1.1.67+) il y a de nouvelles fonctions disponibles dans le paquet rstudioapi, showPrompt semble accomplir ce que vous recherchez.

connection <- dbConnect(
    driver, 
    username = rstudioapi::showPrompt(
     title = "Username", message = "Username", default = "" 
    ), 
    password = rstudioapi::askForPassword(prompt = "Password"), 
    dbname = "my.connection.string" 
) 
+0

cela a fonctionné BEAU! je vous remercie beaucoup, je fais mettre à jour mon département entier à la dernière – blakiseskream