Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [Rails] autenticazione

  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    [Rails] autenticazione

    Ciao a tutti,

    volevo chiedere, sulla base della vostra esperienza, quale meccanismo di autenticazione già esistente potrei sfruttare per un semplice login/logout in un'applicazione in Rails?

    Ho visto che esistono molte opzioni quindi vorrei un vostro consiglio.
    Leggendo "The Rails Way" ho già studiato il plugin "acts_as_authenticated" ma, se possibile, vorrei verificarne altri.

    Nello specifico vorrei qualcosa di semplice (per iniziare anche a capirne la logica) e soprattutto, qualcosa magari che mi permetta di avere due meccanismi separati:

    1) Sistemata di autenticazione per utenti del CMS
    2) Sistema di registrazione + autenticazione per utenti "normali" del sito per classica area riservata.

    Avendo così, dunque, immagino, due logiche completamente separate, due tabelle a DB diverse, due Model e Controller diversi ecc.

    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Approffitto per chiedere un'altra cosa.

    Creando un'interfaccia di amministrazione per la gestione dei contenuti ho optato per creare dei controller con namespace:

    Es: "Admin::PagesController"

    che funziona sostanzialmente come controller per l'amministrazione della risorsa "Pages" al pari del rispettivo "PagesController" che gestisce però diciamo la sola parte di visualizzazione sul sito, quindi senza: new, create, update, edit, delete, azioni delegate alla sola area del CMS.

    Ora, volendo esercitare una verifica preventiva dell'utente per tutte le sezioni dell'area "Admin" della mia applicazione (Pages, Courses, ecc.) ho bisogno di un before_filter che ne controlli l'autenticazione o meno.

    Come banale meccasimo ho ripreso "authenticate_or_request_with_http_basic", tuttavia non so bene come gestirlo, mi spiego:

    Tale before_filter deve valere, ovviamente, solo per tutti i controller dell'area admin ma non per gli altri, es:
    - Admin::NomeController => before_filter :authenticate SI
    - NomeController => before_filter :authenticate NO

    Ho quindi creato un ulteriore Controller Admin::MainController che eredita direttamente ActionController::Base

    Admin::MainController < ActionController::Base

    dopodichè ho modificato gli altri controller dell'area admin in questo modo:

    prima
    Admin::PagesController < ApplicationController

    dopo
    Admin::PagesController < Admin::MainController

    di default infatti tutti i controller, anche quelli con namespace, ereditano direttamente da ApplicationController di application.rb.

    Così facendo ne ho creato un duplicato (Admin::MainController) dove posso mettere il before_filter sull'autenticazione in modo che funzioni solo per i controller che lo ereditano.

    Dopo tutto sto poema:
    - E' formalmente lecito e corretto fare una cosa del genere?
    - Usando invece sempre "ApplicationController" come padre di QUALSIASI controller, come avrei dovuto fare per applicare il before_filter SOLO per i controller con namespace "Admin::"?

    Grazie ancora.

  3. #3
    Personalmente preferisco Authlogic a restful-authentication.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.