2016-05-31 9 views
0

Ist es möglich, Benutzer gegen die lokale Benutzerdatenbank auf Linux/Mac zu authentifizieren? Ich möchte Benutzer lokal auf Linux erstellen und dann erzwingen Authentifizierung mit Sinatra oder einem anderen vorgeschlagenen Rubin Juwel (kein Rails Wissen :()Ruby Sinatra - Authentifizieren Benutzer gegen lokale Benutzerdatenbank (linux/mac)

Ich habe keine Datenbank und meine App ist so einfach, wie es aussehen sollte dies:

require 'sinatra' 

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

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

Hallo Marko! Willkommen bei Stack Overflow! Ich glaube nicht, dass Sie in der Frage genügend Informationen bereitgestellt haben. Für Fragen, wie Sie eine bessere Frage stellen können, besuchen Sie diese Seite http://stackoverflow.com/help/how-to-ask. Wir möchten auch einige Versuche sehen, Ihre Frage selbst zu beantworten und einige Nachforschungen anzustellen. Bitte googeln Sie, um Ihre Frage weiter zu spezifizieren. Wir haben auch keine Signatur wie "Grüße", also bitte editieren Sie diese. – thesecretmaster

+0

Bitte geben Sie an, welche Art von Datenbank und ob Ihr Server lokal ausgeführt wird oder nicht. – thesecretmaster

+0

Danke @thesecretmaster für Ihre Richtlinien. –

Antwort

0

Meine Empfehlung ist, eine Datenbank zu verwenden, wenn Sie diesen Weg hier am Ende gehen ist, wie Sie es tun würde:..

in Ihre gemfile gem 'sqlite' und gem 'sinatra-activerecord' Führen Sie den Befehl bundle exec rake db:create_migration NAME=setup_users_table diese erstellt ein db Verzeichnis mit migrations/<random numbers>_setup_users_table.rb. Fügen Sie in dieser Datei Code innerhalb der change-Funktion hinzu. Um eine Tabelle Benutzer mit einem Benutzernamen und Passwort-Feld fügen Sie den folgenden Code zu erstellen:

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

Jetzt bundle exec rake db:migrate laufen. Wenn das gelungen ist, haben Sie eine funktionierende Datenbank. Um es zu nutzen, müssen Sie Ihre App-Datei den folgenden Code hinzuzufügen:

class User < ActiveRecord::Base 
end 

Jetzt sind Sie gut zu gehen!

Um einen Benutzer zu erstellen:

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