Vorrei forzare il login su tutti gli "oggetti" del sito, dalle pagine ai dati presenti in /public. Qualcuno sa come fare? Ciao Michele!
on 28.04.2008 00:56
on 28.04.2008 07:50
Il controllo sugli oggetti presenti in public non è possibile. Se vuoi proteggere i dati uploadati nell'applicazione devi metterli in una directory non pubblica ed accedervi tramite un controller. Il giorno 28/apr/08, alle ore 00:56, Michele Casari ha scritto:
on 28.04.2008 10:31
Neppure sfruttando le route? Ricordavo di aver letto (chissa dove) che si poteva gestire tutte le richieste e tramite le funzioni di routing e impostare delle operazioni ad ogni richiesta. Se si potesse fare, ad ogni richiesta controllerei se l'utente si è loggato... Ricordo male?
on 28.04.2008 10:44
Ciao Michele,
avevo anche io un problema simile, dovevo proteggere un'intera
applicazione in modo che fosse testata da alcune persone senza che
potesse essere raggiunta dal mondo...
Io ho risolto
così:
in app/controllers/application.rb ho definito:
before_filter :login_filter
def login_filter
if !session[:is_logged_in]
session[:requested_uri] = request.request_uri
redirect_to :controller => "engine", :action => "show_login"
end
end
poi in app/controllers/engine_controller.rb ho definito le varie azioni
per il rendering e l'input/validazione della login:
def show_login
end
def login
user_name = params[:user_name]
password = params[:password]
if user_name == "xxx" && password == "yyyy" # Qui eventualmente puoi
verificare le credenziali sul db...
session[:is_logged_in] = true
redirect_to session[:requested_uri]
else
flash[:notice] = "Credenziali errate !"
redirect_to :back
end
end
e alla fine ho creato la form per il data entry in
app/views/engine/show_login.html.erb con l'input per i 2 campi user_name
e password...
Buon divertimento...
Michele Casari ha scritto:
on 28.04.2008 11:15
On Apr 28, 2008, at 12:56 AM, Michele Casari wrote: > Vorrei forzare il login su tutti gli "oggetti" del sito, dalle > pagine ai > dati presenti in /public. > > Qualcuno sa come fare? http://en.wikipedia.org/wiki/Basic_access_authentication S.
on 28.04.2008 11:31
Stefano Cobianchi wrote: > On Apr 28, 2008, at 12:56 AM, Michele Casari wrote: > >> Vorrei forzare il login su tutti gli "oggetti" del sito, dalle >> pagine ai >> dati presenti in /public. >> >> Qualcuno sa come fare? > > http://en.wikipedia.org/wiki/Basic_access_authentication > > S. Se fosse il mio il server potrei fare una cosa cosi. Posso provare a chiedere al mio provider se posso... Anche se non mi è mai piaciuta la soluzione di far gestire al server web l'autenticazione, se cambi serve? In oltre non hai l'elasticità di un db e di un'interfaccia web per la gestione. Ciao Michele.