rstudioapi askForPassword без маскировки для ввода имени пользователя
Есть ли способ отключить маскирование во всплывающем окне rstudioapi::askForPassword, чтобы пользователь мог ввести свое имя пользователя?
Я создаю функцию, которой могу поделиться со своей командой для подключения к нашему экземпляру БД Oracle с помощью пакета ROracle.
Текущее решение,
connection <- dbConnect(
driver
, username = rstudioapi::askForPassword(prompt = 'Please enter username: ')
, password = rstudioapi::askForPassword(prompt = 'Password: ')
, dbname = 'my.connection.string'
)
Появляется следующее приглашение: (изображение в ссылке)
это решение описано в документации по базе данных RStudio , использующей API Rstudio
Хотел бы найти решение, которое не маскирует пароль, но выдает то же самое приглашение (одна хорошая строка кода, если это возможно...)
2 ответа
Если вы используете предварительную версию RStudio (1.1.67+), в rstudioapi
пакет, showPrompt
кажется, выполнить то, что вы после.
connection <- dbConnect(
driver,
username = rstudioapi::showPrompt(
title = "Username", message = "Username", default = ""
),
password = rstudioapi::askForPassword(prompt = "Password"),
dbname = "my.connection.string"
)
Для более новых версий rstudioapi::askForPassword я заметил следующее ...
- Если вы просто включите строку
username
в вашей аргументной фразе текст разоблачен. - В том числе
password
будет строго применять маскировку.
Например:
rstudioapi::askForPassword("Enter username") # <-- UNMASKED
rstudioapi::askForPassword("Enter password") # <-- MASKED
rstudioapi::askForPassword("Enter foobar xyz123 username") # <-- UNMASKED
rstudioapi::askForPassword("Enter foobar xyz123 username password") # <-- MASKED
Я, конечно, случайно наткнулся на это, потому что текстовое поле с запросом pw автоматически демаскирует имя пользователя ... Дополнительная информация может быть по адресу: