Ruby Sinatra-根据本地用户数据库(linux/mac)对用户进行身份验证



是否可以根据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

我的建议是使用数据库。如果你最终走上了这条路,你会怎么做:

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

create_table :users do |i|
i.string :username
i.string :password
end

现在运行bundle exec rake db:migrate。如果成功了,那么你就有了一个工作数据库。要访问它,你需要将以下代码添加到你的应用程序文件中:

class User < ActiveRecord::Base
end

现在你可以出发了!

创建用户:

User.create(username:<whatever>,password:<whatever>)

相关内容

  • 没有找到相关文章

最新更新