Ho guardato i documenti di Sinatra e sembrano solo fare riferimento all'autenticazione HTTP. Sto cercando un modo davvero semplice per controllare l'accesso alle rotte in base a un utente autorizzato/autenticato tramite un server LDAP.Come posso fare un'autenticazione Sinatra LDAP veramente semplice?
ho già costruito una classe che fa la punta LDAP e restituisce un oggetto LDAP se l'utente è autenticato e nullo con successo se non l'hanno:
>>DirectoryUser.authenticate('user', 'password')
#<DirectoryUser:0x007ffb589a2328>
posso usare questo per determinare se Sono stati autenticati o meno con successo.
Come passo successivo voglio impiombare questo in una semplice applicazione Sinatra che fornisce un modulo per raccogliere l'utente LDAP e la password:
require 'directoryUser'
require 'sinatra'
enable :sessions
get '/form' do
username = params[:username]
password = params[:password]
haml :form
end
allora voglio consentire solo le rotte se l'oggetto del 'DirectoryUser' esiste:
get '/protected' do # Only if DirectoryUser object exists
"This route is protected"
end
get '/unprotected' do
"This route is unprotected"
end
ho passato ore a cercare di trovare una risposta a questo, ma finora e non riesco a trovare qualcosa che funziona per me.
Superb! - Ci proverò ora e ti faccio sapere come va. Grazie per la risposta. – user1513388
Questo ha funzionato perfettamente - grazie per l'aiuto! – user1513388