Flask Academy · Pelajaran

Lindungi Tampilan dengan login_required

Batasi rute dan alihkan pengguna anonim.

Pelajaran 4 dari 413 langkah

Lindungi Tampilan dengan login_required adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

Beberapa Halaman Membutuhkan Perlindungan

Halaman dashboard atau pengaturan tidak boleh dimuat oleh orang asing. Anda melindungi rute semacam itu agar hanya pengguna yang masuk yang dapat mengaksesnya.

Dekorator login_required

Flask-Login menyediakan gerbang satu baris: dekorator login_required. Pasang pada tampilan apa pun, lalu pengunjung anonim akan dialihkan.

from flask_login import login_required

Terapkan pada Rute

Letakkan login_required tepat di bawah dekorator rute. Urutannya penting agar pemeriksaan autentikasi membungkus tampilan yang benar-benar dipanggil Flask.

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

Yang Terjadi pada Orang Asing

Jika pengguna anonim mengakses rute yang dilindungi, Flask-Login tidak menampilkan halaman tersebut. Flask-Login mengalihkan mereka ke tampilan masuk Anda.

Beri Tahu Lokasi Halaman Masuk

Agar pengalihan berfungsi, tetapkan login_view pada pengelola. Berikan nama titik akhir rute masuk agar pengelola mengetahui tujuannya.

login_manager.login_view = "login"

Parameter Berikutnya

Flask-Login menambahkan parameter kueri next ke URL masuk. Parameter ini mengingat tujuan yang ingin didatangi pengguna sebelum dialihkan.

Kirim Mereka Kembali Setelah Masuk

Dalam tampilan masuk, baca request.args.get untuk memperoleh next, lalu arahkan ke sana setelah mereka masuk. Pengguna akan tiba tepat di tempat semula.

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

Sesuaikan Pesannya

Anda dapat menetapkan login_message untuk mengatur pesan kilat yang ditampilkan saat akses ditolak. Catatan yang ramah lebih baik daripada pengalihan diam-diam yang membingungkan.

login_manager.login_message = "Please log in first."

Gunakan current_user di Dalamnya

Di dalam tampilan yang dilindungi, Anda dapat yakin bahwa current_user adalah pengguna nyata yang telah diautentikasi. Anda tidak perlu memeriksanya lagi karena dekorator sudah melakukannya.

@login_required
def profile():
    return current_user.email

Melindungi Banyak Rute

Untuk seluruh area admin, Anda dapat menerapkan login_required pada setiap tampilan atau memasangnya pada before_request milik cetak biru agar semua rute tercakup.

Lebih dari Sekadar Sudah Masuk

login_required hanya memeriksa bahwa seseorang telah diautentikasi. Untuk pemeriksaan peran seperti khusus admin, tambahkan logika Anda sendiri di dalam tampilan.

Pemeriksaan Singkat

Seorang pengunjung anonim membuka rute login_required. Apa yang dilakukan Flask-Login?

Ringkasan

Anda melindungi rute dengan login_required, menetapkan login_view untuk pengalihan, dan menggunakan next untuk mengembalikan pengguna ke beranda. Halaman yang dilindungi kini terkunci. 🛡️

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Lindungi Tampilan dengan login_required” gratis?

Ya — teks lengkap “Lindungi Tampilan dengan login_required” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Lindungi Tampilan dengan login_required”?

Batasi rute dan alihkan pengguna anonim. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Flask Academy?

Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Lindungi Tampilan dengan login_required” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Hash Kata Sandi, Jangan Pernah Simpan Teks Biasa
  2. Pemuat Pengguna dan UserMixin
  3. login_user, logout_user, dan Sesi
  4. Lindungi Tampilan dengan login_required
← Kembali ke Flask Academy