我正在構建一個閃亮的登錄頁面,其中用戶輸入用戶名和密碼並點擊登錄。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()函數還有一個防止字典攻擊的關鍵參數。 –