有没有办法在rstudioapi :: askForPassword弹出窗口中禁用屏蔽,以便用户可以输入他们的用户名?
我正在构建一个我可以与团队分享的功能,使用ROracle pacakge连接到我们的Oracle数据库实例
当前解决方案,
connection <- dbConnect(
driver
, username = rstudioapi::askForPassword(prompt = 'Please enter username: ')
, password = rstudioapi::askForPassword(prompt = 'Password: ')
, dbname = 'my.connection.string'
)
这会弹出以下提示: (image in link)
这是RStudio database docs that uses the Rstudio api
中描述的解决方案想要资助一个不掩盖密码的解决方案,但会弹出相同的提示(如果可能,可以使用一行代码......)
答案 0 :(得分: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"
)
答案 1 :(得分:0)
对于较新版本的 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
当然,我偶然发现了这一点,因为密码提示文本框会自动取消对用户名的掩码...可以在以下位置获得更多信息: