Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用户身份验证和密码存储_R_Authentication_Shiny_Passwords_Libsodium - Fatal编程技术网

R 用户身份验证和密码存储

R 用户身份验证和密码存储,r,authentication,shiny,passwords,libsodium,R,Authentication,Shiny,Passwords,Libsodium,我正在实现ShinyApp的登录页面(我不能使用Shinny Server Pro的任何付费功能或类似功能),并在以下网站上使用了一些示例代码: 它使用基于钠的钠包来存储和检查密码。有关守则如下: credentials = data.frame( username_id = c("myuser", "myuser1"), passod = sapply(c("mypass", "mypass1"), sodium::password_store), permission =

我正在实现ShinyApp的登录页面(我不能使用Shinny Server Pro的任何付费功能或类似功能),并在以下网站上使用了一些示例代码:

它使用基于钠的钠包来存储和检查密码。有关守则如下:

credentials = data.frame(
  username_id = c("myuser", "myuser1"),
  passod   = sapply(c("mypass", "mypass1"), sodium::password_store),
  permission  = c("basic", "advanced"), 
  stringsAsFactors = FALSE,
)
use通过文本框输入用户名和密码,然后shinyapp使用函数
Na钠::password\u verify

我注意到的第一件事是密码被存储为行名:

> credentials
        username_id
mypass       myuser
mypass1     myuser1
                                                                                                       passod
mypass  $7$C6..../....etc..
mypass1 $7$C6..../....etc..
        permission
mypass       basic
mypass1   advanced
这是个错误吗?当然,这会破坏将密码存储为散列的目的


一旦我将
row.names=NULL
添加到数据帧中,这是存储登录详细信息的合理安全方法吗?是否有其他方法/软件包或其他免费服务来管理用户帐户并对其进行身份验证?

事实上,对于第二个问题,这似乎是一个错误:我会说不,这不是一个合理安全的方法。有两个原因:没有详细检查,它看起来像是DIY解决方案;第二,安全性在一定程度上是一个信任问题,而您指出的错误并不能激发信任。对于第三个问题,尽管建议通常被认为是StackOverflow的主题之外的,但我会指出或查找他们的作者Github问题(开放和封闭),以提出您自己的想法。ShinyProxy是一款更为复杂和集成的产品,它可以处理身份验证,而且是免费的。