Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan Flask-Login untuk melaksanakan log masuk pengguna dan pengurusan sesi

Cara menggunakan Flask-Login untuk melaksanakan log masuk pengguna dan pengurusan sesi

Aug 02, 2023 pm 05:57 PM
flask Pengurusan sesi login

Cara menggunakan Flask-Login untuk melaksanakan log masuk pengguna dan pengurusan sesi

Pengenalan:
Flask-Login ialah pemalam pengesahan pengguna untuk rangka kerja Flask, yang melaluinya kami boleh melaksanakan log masuk pengguna dan fungsi pengurusan sesi dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Flask-Login untuk log masuk pengguna dan pengurusan sesi, dan memberikan contoh kod yang sepadan.

1. Persediaan
Sebelum menggunakan Flask-Login, kita perlu memasangnya dalam projek Flask. Anda boleh menggunakan pip untuk memasangnya dengan arahan berikut:

pip install Flask-Login
Salin selepas log masuk

2. Buat aplikasi Flask dan konfigurasikannya
Pertama, kita perlu mencipta aplikasi Flask dan konfigurasikannya dengan sewajarnya. Tulis kod berikut dalam app.py:

from flask import Flask
from flask_login import LoginManager

app = Flask(__name__)
# 配置SECRET_KEY,用于加密会话数据
app.config['SECRET_KEY'] = 'your-secret-key'

login_manager = LoginManager(app)
Salin selepas log masuk

Antaranya, LoginManager digunakan untuk mengurus log masuk dan sesi SECRET_KEY dikonfigurasikan melalui app.config['SECRET_KEY'] untuk menyulitkan data sesi, yang boleh menjadi rentetan rawak.

3 Buat model pengguna
Seterusnya, kita perlu mencipta model pengguna untuk menyimpan maklumat pengguna, seperti nama pengguna, kata laluan, dll. Tulis kod berikut dalam app.py:

from flask_login import UserMixin

class User(UserMixin):
    def __init__(self, id):
        self.id = id
        self.username = None
        self.password = None
    
    def get_id(self):
        return str(self.id)
Salin selepas log masuk

Di sini kami memudahkan pelaksanaan model pengguna dengan mewarisi kelas UserMixin dan melaksanakan kaedah get_id untuk mengembalikan pengecam unik pengguna.

4. Tulis paparan log masuk
Seterusnya, kita perlu menulis paparan log masuk untuk mengendalikan permintaan log masuk pengguna. Tulis kod berikut dalam app.py:

from flask import request, redirect, url_for, render_template
from flask_login import login_user

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        
        # 验证用户名和密码
        user = User(1)  # 根据用户名和密码查询数据库获取用户对象
        if user.username == username and user.password == password:
            login_user(user)  # 登录用户
            return redirect(url_for('index'))
        
        return render_template('login.html', error='用户名或密码错误')
    
    return render_template('login.html')
Salin selepas log masuk

Di sini, request.form.get digunakan untuk mendapatkan nama pengguna dan kata laluan dalam permintaan pengguna, dan kemudian sahkan sama ada nama pengguna dan kata laluan adalah betul mengikut situasi sebenar. Jika betul, panggil fungsi login_user untuk log masuk ke pengguna, dan ulangi Diarahkan ke halaman utama.

5. Tulis kod berkaitan pengurusan sesi
Dalam kod di atas, kami menggunakan fungsi login_user Flask-Login untuk melaksanakan log masuk pengguna. Seterusnya, kita juga perlu menulis beberapa kod untuk melaksanakan fungsi berkaitan pengurusan sesi.

  1. Fungsi panggil balik kejayaan log masuk

    from flask_login import login_user, login_required, logout_user, current_user
    
    @login_manager.user_loader
    def load_user(user_id):
     return User(int(user_id))
    Salin selepas log masuk

    @login_manager.penghias pengguna_loader akan digunakan oleh Flask-Login untuk memuatkan objek pengguna. Dalam fungsi pemuatan ini, kami mengembalikan objek pengguna berdasarkan pengecam unik pengguna.

  2. Fungsi paparan dilindungi

    @app.route('/')
    @login_required
    def index():
     return 'Hello, {}!'.format(current_user.username)
    Salin selepas log masuk

    @login_required pengubah akan melindungi fungsi paparan indeks, dan hanya pengguna log masuk boleh mengakses paparan.

  3. Paparan Log Keluar

    @app.route('/logout')
    @login_required
    def logout():
     logout_user()  # 登出用户
     return redirect(url_for('login'))
    Salin selepas log masuk

    Pengguna log keluar pengguna yang sedang log masuk dengan mengakses laluan /logout.

6. Buat halaman log masuk
Akhir sekali, kita perlu mencipta halaman log masuk, mencipta fail login.html dalam direktori templat, dan tulis kod berikut:

{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post" action="{{ url_for('login') }}">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>
Salin selepas log masuk

Dalam halaman log masuk, kami memaparkan ralat mesej dan sediakan kotak Input untuk nama pengguna dan kata laluan, dan butang log masuk.

7 Jalankan aplikasi
Pada ketika ini, kami telah melengkapkan semua kod untuk log masuk pengguna dan pengurusan sesi menggunakan Flask-Login. Jalankan aplikasi dan akses laluan /login untuk memasuki halaman log masuk untuk log masuk pengguna.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan Flask-Login untuk melaksanakan log masuk pengguna dan pengurusan sesi, dan menyediakan contoh kod yang sepadan. Menggunakan Flask-Login boleh mengurus log masuk dan sesi pengguna dengan mudah, meningkatkan keselamatan aplikasi dan pengalaman pengguna. Saya harap artikel ini akan membantu anda mempelajari Flask-Login.

Atas ialah kandungan terperinci Cara menggunakan Flask-Login untuk melaksanakan log masuk pengguna dan pengurusan sesi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara membina aplikasi web yang ringkas dan mudah digunakan dengan React dan Flask Cara membina aplikasi web yang ringkas dan mudah digunakan dengan React dan Flask Sep 27, 2023 am 11:09 AM

Cara menggunakan React dan Flask untuk membina aplikasi web yang ringkas dan mudah digunakan Pengenalan: Dengan perkembangan Internet, keperluan aplikasi web menjadi semakin pelbagai dan kompleks. Untuk memenuhi keperluan pengguna untuk kemudahan penggunaan dan prestasi, semakin penting untuk menggunakan tindanan teknologi moden untuk membina aplikasi rangkaian. React dan Flask ialah dua rangka kerja yang sangat popular untuk pembangunan bahagian hadapan dan belakang, dan ia berfungsi dengan baik bersama-sama untuk membina aplikasi web yang ringkas dan mudah digunakan. Artikel ini akan memperincikan cara memanfaatkan React dan Flask

Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi Feb 19, 2024 pm 04:01 PM

Bermula dari awal, saya akan mengajar anda langkah demi langkah cara memasang Flask dan cepat membina blog peribadi Sebagai seorang yang suka menulis, mempunyai blog peribadi adalah sangat penting. Sebagai rangka kerja Web Python yang ringan, Flask boleh membantu kami membina blog peribadi yang ringkas dan berfungsi sepenuhnya dengan cepat. Dalam artikel ini, saya akan bermula dari awal dan mengajar anda langkah demi langkah cara memasang Flask dan membina blog peribadi dengan cepat. Langkah 1: Pasang Python dan pip Sebelum bermula, kita perlu memasang Python dan pi terlebih dahulu

Django vs. Flask: Analisis perbandingan rangka kerja web Python Django vs. Flask: Analisis perbandingan rangka kerja web Python Jan 19, 2024 am 08:36 AM

Django dan Flask adalah kedua-duanya peneraju dalam rangka kerja Web Python, dan kedua-duanya mempunyai kelebihan dan senario yang boleh digunakan. Artikel ini akan menjalankan analisis perbandingan kedua-dua rangka kerja ini dan memberikan contoh kod khusus. Pengenalan Pembangunan Django ialah rangka kerja Web berciri penuh, tujuan utamanya adalah untuk membangunkan aplikasi Web yang kompleks dengan cepat. Django menyediakan banyak fungsi terbina dalam, seperti ORM (Pemetaan Hubungan Objek), borang, pengesahan, bahagian belakang pengurusan, dsb. Ciri-ciri ini membolehkan Django mengendalikan besar

Panduan untuk memasang rangka kerja Flask: Langkah terperinci untuk membantu anda memasang Flask dengan betul Panduan untuk memasang rangka kerja Flask: Langkah terperinci untuk membantu anda memasang Flask dengan betul Feb 18, 2024 pm 10:51 PM

Tutorial pemasangan rangka kerja Flask: Ajar anda langkah demi langkah cara memasang rangka kerja Flask dengan betul. Contoh kod khusus diperlukan. Ia mudah dipelajari, mudah digunakan dan padat dengan ciri yang hebat. Artikel ini akan membawa anda langkah demi langkah untuk memasang rangka kerja Flask dengan betul dan memberikan contoh kod terperinci untuk rujukan. Langkah 1: Pasang Python Sebelum memasang rangka kerja Flask, anda perlu terlebih dahulu memastikan bahawa Python dipasang pada komputer anda. Anda boleh bermula dari P

Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap Flask vs FastAPI: Pilihan terbaik untuk pembangunan API Web yang cekap Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Pilihan terbaik untuk pembangunan WebAPI yang cekap Pengenalan: Dalam pembangunan perisian moden, WebAPI telah menjadi bahagian yang sangat diperlukan. Mereka menyediakan data dan perkhidmatan yang membolehkan komunikasi dan saling kendali antara aplikasi yang berbeza. Apabila memilih rangka kerja untuk membangunkan WebAPI, Flask dan FastAPI ialah dua pilihan yang telah menarik banyak perhatian. Kedua-dua rangka kerja sangat popular dan masing-masing mempunyai kelebihan tersendiri. Dalam artikel ini, kita akan melihat Fl

Membandingkan prestasi Gunicorn dan uWSGI untuk penggunaan aplikasi Flask Membandingkan prestasi Gunicorn dan uWSGI untuk penggunaan aplikasi Flask Jan 17, 2024 am 08:52 AM

Penggunaan aplikasi flask: Perbandingan Gunicorn vs suWSGI Pengenalan: Flask, sebagai rangka kerja Web Python yang ringan, disukai oleh banyak pembangun. Apabila menggunakan aplikasi Flask ke persekitaran pengeluaran, memilih Antara Muka Gerbang Pelayan (SGI) yang sesuai adalah keputusan penting. Gunicorn dan uWSGI ialah dua pelayan SGI biasa Artikel ini akan menerangkannya secara terperinci.

Tutorial pemasangan dan konfigurasi kelalang: alat untuk membina aplikasi web Python dengan mudah Tutorial pemasangan dan konfigurasi kelalang: alat untuk membina aplikasi web Python dengan mudah Feb 20, 2024 pm 11:12 PM

Tutorial pemasangan dan konfigurasi kelalang: Alat untuk membina aplikasi Web Python dengan mudah, contoh kod khusus diperlukan Pengenalan: Dengan peningkatan populariti Python, pembangunan Web telah menjadi salah satu kemahiran yang diperlukan untuk pengaturcara Python. Untuk menjalankan pembangunan web dalam Python, kita perlu memilih rangka kerja web yang sesuai. Di antara banyak rangka kerja Web Python, Flask ialah rangka kerja yang ringkas, mudah digunakan dan fleksibel yang digemari oleh pembangun. Artikel ini akan memperkenalkan pemasangan rangka kerja Flask,

Apakah alternatif kepada Servlets? Apakah alternatif kepada Servlets? Sep 14, 2023 pm 08:45 PM

Pengenalan Servlet telah lama menjadi asas pembangunan web berasaskan Java. Walau bagaimanapun, dengan perkembangan teknologi Web, beberapa alternatif kepada Servlet telah muncul, menyediakan pelbagai fungsi dan paradigma yang sesuai untuk keperluan pembangunan yang berbeza. Artikel ini menyediakan gambaran keseluruhan alternatif ini dan membincangkan kelebihan dan kesesuaian mereka dalam situasi yang berbeza. . Walaupun servlet adalah teknologi berkuasa untuk membina aplikasi web, ia boleh menjadi rumit apabila digunakan dalam aplikasi besar. Mari terokai beberapa alternatif popular yang boleh menyelesaikan kerumitan ini

See all articles