Ruby Sinatra - 针对本地用户数据库(linux / mac)验证用户

时间:2016-05-31 22:30:33

标签: ruby http authentication sinatra

是否可以针对linux / mac上的本地用户数据库对用户进行身份验证? 我想在linux上本地创建用户,然后使用sinatra或任何其他建议的ruby gem强制进行身份验证(没有rails知识:()

我没有任何数据库,我的应用程序非常简单,应该如下所示:

require 'sinatra'

use Rack::Auth::Basic, "Restricted Area" do |username, password|
  [username, password] == ['admin', 'admin']
end

get '/' do
  "You're welcome"
end

1 个答案:

答案 0 :(得分:0)

我的建议是使用数据库。如果您最终走这条路线就是这样做的:

添加到您的gemfile gem 'sqlite'gem 'sinatra-activerecord' 运行命令bundle exec rake db:create_migration NAME=setup_users_table。这将创建一个包含db的{​​{1}}目录。在该文件中,在migrations/<random numbers>_setup_users_table.rb函数内添加代码。 要使用用户名和密码字段创建Users表,请添加以下代码:

change

现在运行create_table :users do |i| i.string :username i.string :password end 。如果成功,那么你有一个工作的数据库。 要访问它,您需要在应用文件中添加以下代码:

bundle exec rake db:migrate

现在你很高兴去!

创建用户:

class User < ActiveRecord::Base
end