加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – sinatra,rack auth basic和从文件中查找

发布时间:2020-12-17 02:32:33 所属栏目:百科 来源:网络整理
导读:在sinatra应用程序中使用rack :: auth :: basic,有一种方法可以从简单的yaml文件中查找用户和密码(如果密码保持清晰无关紧要)? 示例yaml config / users.yml ---:users: usersA: :password: passwordA :otherdata: xxxxx userB: :password: passwordB sinat
在sinatra应用程序中使用rack :: auth :: basic,有一种方法可以从简单的yaml文件中查找用户和密码(如果密码保持清晰无关紧要)?

示例yaml config / users.yml

---
:users:
  usersA:
    :password: passwordA
    :otherdata: xxxxx
  userB:
    :password: passwordB

sinatra配置块我正在尝试(没有成功).我如何从yaml文件中查找用户?

configure do
  config = YAML::load_file(File.join(Dir.pwd,'config','users.yml'))   
  use Rack::Auth::Basic,"login" do |u,p|
  [u,p] == [u,config[:users][username][:password]]
  end
end

解决方法

简单如下:

configure do
  config = YAML::load_file(File.join(Dir.pwd,p|
    p == config[:users][u][:password]
  end
end

您也可以考虑将密码存储为SHA1并检查为:

Digest::SHA1.hexdigest(p) == config[:users][u][:password]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读