Flask Academy · Lezione

Proteggere le view con login_required

Protegga le route e reindirizzi gli utenti anonimi.

Lezione 4 di 413 passaggi

Proteggere le view con login_required è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.

Alcune pagine richiedono una protezione

Una dashboard o una pagina delle impostazioni non dovrebbe mai essere caricata da uno sconosciuto. Protegge queste route in modo che solo un utente connesso possa raggiungerle.

Il decorator login_required

Flask-Login mette a disposizione un controllo in una sola riga: il decorator login_required. Lo applichi a qualsiasi view e i visitatori anonimi verranno reindirizzati altrove.

from flask_login import login_required

Applicarlo a una route

Inserisca login_required subito sotto il decorator della route. L'ordine è importante, perché il controllo dell'autenticazione deve avvolgere la view chiamata effettivamente da Flask.

@app.route("/dashboard")
@login_required
def dashboard():
    return "Welcome back"

Cosa succede agli utenti sconosciuti

Se un utente anonimo accede a una route protetta, Flask-Login non mostra la pagina. Lo reindirizza invece alla view di login.

Indicare dove si trova il login

Perché il reindirizzamento funzioni, imposti login_view nel manager. Gli assegni il nome dell'endpoint della route di login, così conoscerà la destinazione.

login_manager.login_view = "login"

Il parametro next

Flask-Login aggiunge un parametro di query next all'URL di login. In questo modo ricorda dove l'utente voleva andare prima del reindirizzamento.

Riportarli indietro dopo il login

Nella view di login legga request.args.get per recuperare next e reindirizzi l'utente lì dopo l'accesso. L'utente tornerà esattamente al punto di partenza.

dest = request.args.get("next") or url_for("index")
return redirect(dest)

Personalizzare il messaggio

Può impostare login_message per controllare il messaggio flash mostrato quando l'accesso viene negato. Una nota chiara è meglio di un reindirizzamento silenzioso e confuso.

login_manager.login_message = "Please log in first."

Usare current_user all'interno

All'interno di una view protetta può avere la certezza che current_user sia un utente reale e autenticato. Non è necessario ricontrollare: il decorator lo ha già verificato.

@login_required
def profile():
    return current_user.email

Proteggere molte route

Per un'intera area di amministrazione può applicare login_required a ogni view oppure associarlo a before_request di un blueprint, così tutte le route saranno coperte.

Oltre il semplice accesso

login_required verifica soltanto che qualcuno sia autenticato. Per controlli sui ruoli, come l'accesso riservato agli amministratori, deve aggiungere una propria logica all'interno della view.

Verifica rapida

Un visitatore anonimo apre una route con login_required. Che cosa fa Flask-Login?

Riepilogo

Ha protetto le route con login_required, ha impostato login_view per i reindirizzamenti e ha usato next per riportare gli utenti alla pagina richiesta. Le pagine protette sono ora al sicuro. 🛡️

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Proteggere le view con login_required» è gratuita?

Sì — il testo completo di «Proteggere le view con login_required» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.

Cosa imparerò in «Proteggere le view con login_required»?

Protegga le route e reindirizzi gli utenti anonimi. Eserciti Flask Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Flask Academy?

Non è richiesta alcuna esperienza precedente. Flask Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Proteggere le view con login_required»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Flask Academy?

Sì. Ogni lezione Flask Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Hash delle password: mai salvarle in chiaro
  2. User loader e UserMixin
  3. login_user, logout_user e sessioni
  4. Proteggere le view con login_required
← Torna a Flask Academy