Rumah > Artikel > pembangunan bahagian belakang > Flask-RESTful dan Flask-HTTAuth: Amalan terbaik untuk pengesahan dan kebenaran pengguna dalam aplikasi web Python
Dengan populariti aplikasi web, pengesahan dan kebenaran pengguna menjadi semakin penting. Ciri-ciri ini melindungi data sensitif dan fungsi penting dalam aplikasi web supaya hanya pengguna yang diberi kuasa boleh mengaksesnya. Bahasa Python menyediakan banyak perpustakaan dan rangka kerja yang memudahkan untuk melaksanakan pengesahan dan kebenaran pengguna dalam aplikasi web. Artikel ini akan memperkenalkan dua perpustakaan Python: Flask-RESTful dan Flask-HTTAuth, yang merupakan amalan terbaik untuk melaksanakan pengesahan dan kebenaran dalam aplikasi web.
pip install Flask pip install Flask-RESTful pip install Flask-HTTPAuth
Seterusnya, anda perlu mengimport Flask-RESTful dan Flask-HTTPAuth dalam aplikasi Flask anda:
from flask import Flask from flask_restful import Api, Resource from flask_httpauth import HTTPBasicAuth app = Flask(__name__) api = Api(app) auth = HTTPBasicAuth()
Kemudian, pengguna berdaftar boleh dibuat untuk pengesahan:
users = { "john": "hello", "susan": "bye" } @auth.get_password def get_password(username): if username in users: return users.get(username) return None
Di sini kamus pengguna ringkas (nama pengguna dan kata laluan) ditakrifkan dan dihantar ke Flask-HTTAuth melalui fungsi panggil balik get_password. Dalam fungsi get_password, mula-mula tentukan sama ada nama pengguna dalam permintaan berada dalam kamus pengguna Jika ia wujud, kata laluan pengguna dikembalikan jika tidak, Tiada dikembalikan, menunjukkan bahawa pengesahan gagal.
Kini anda boleh menggunakan Flask-RESTful dan Flask-HTTAuth pada aplikasi anda untuk mengesahkan dan membenarkan API. Berikut ialah contoh:
class PrivateResource(Resource): @auth.login_required def get(self): return {"message": "Hello, %s!" % auth.username()}, 200 api.add_resource(PrivateResource, '/private')
Dalam kod di atas, sumber yang dilindungi PrivateResource dicipta dan disahkan menggunakan penghias login_required dalam Flask-HTTAuth. Jika nama pengguna dan kata laluan dalam permintaan sepadan, memanggil kaedah get mengembalikan objek JSON yang mengandungi nama pengguna.
Selepas mencipta laluan, anda boleh menjalankan aplikasi Flask dan mengesahkan menggunakan nama pengguna dan kata laluan:
$ curl -u john:hello http://localhost:5000/private {"message": "Hello, john!"} $ curl -u susan:bye http://localhost:5000/private {"message": "Hello, susan!"}
Atas ialah kandungan terperinci Flask-RESTful dan Flask-HTTAuth: Amalan terbaik untuk pengesahan dan kebenaran pengguna dalam aplikasi web Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!