繁体   English   中英

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

[英]Ruby Sinatra - Authenticate user against local user database (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

我的建议是使用数据库。 如果您最终选择了这条路线,请按照以下步骤操作:

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

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>)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM