我正在构建一个闪亮的登录页面,其中用户输入用户名和密码并点击登录。R中的用户名和密码验证Shiny app
我有一个数据帧,其中用户名和相应的密码分别存储在username
,password
列下的登录凭据组。
下面是我在server.r
reactive({validate(
need(input$Username == df$username, message = FALSE),
need(input$Password == df$password, message = FALSE)
)})
脚本现在的问题是,我不能够与其对应的password
验证username
,用任何密码的用户名可以登录。请帮助你的逻辑。
df
username password
admin admin
jhon jhon
test test
ipt ipt
rock rock
存储这样的密码是非常糟糕的做法。最好使用openssl软件包比较哈希和腌制密码。 –
@JoshGilfillan哦好吧,感谢您的建议,但我该如何实现? – SBS
使用openssl包中的sha512()函数来存储粗体密码而不是普通密码。然后,当用户输入凭证时,将输入密码的散列值与存储密码的散列值进行比较。 sha512()函数还有一个防止字典攻击的关键参数。 –