웹 애플리케이션의 인기로 인해 사용자 인증 및 권한 부여가 점점 더 중요해지고 있습니다. 이러한 기능은 인증된 사용자만 액세스할 수 있도록 웹 애플리케이션의 중요한 데이터와 중요한 기능을 보호합니다. Python 언어는 웹 애플리케이션에서 사용자 인증 및 권한 부여를 더 쉽게 구현할 수 있는 많은 라이브러리와 프레임워크를 제공합니다. 이 기사에서는 웹 애플리케이션에서 인증 및 권한 부여를 구현하기 위한 모범 사례인 Flask-RESTful 및 Flask-HTTPAuth라는 두 가지 Python 라이브러리를 소개합니다.
pip install Flask pip install Flask-RESTful pip install Flask-HTTPAuth
다음으로 Flask 애플리케이션에서 Flask-RESTful 및 Flask-HTTPAuth를 가져와야 합니다.
from flask import Flask from flask_restful import Api, Resource from flask_httpauth import HTTPBasicAuth app = Flask(__name__) api = Api(app) auth = HTTPBasicAuth()
그런 다음 등록된 사용자를 만들 수 있습니다. 신원 확인을 위해:
users = { "john": "hello", "susan": "bye" } @auth.get_password def get_password(username): if username in users: return users.get(username) return None
간단한 사용자 사전(사용자 이름 및 비밀번호)이 여기에 정의되어 있으며 get_password 콜백 함수를 통해 Flask-HTTPAuth에 전달됩니다. get_password 함수에서는 먼저 요청의 사용자 이름이 사용자 사전에 있는지 확인합니다. 존재하는 경우 사용자의 비밀번호가 반환되고, 그렇지 않으면 인증이 실패했음을 나타냅니다.
이제 Flask-RESTful 및 Flask-HTTPAuth를 애플리케이션에 적용하여 API에 대한 인증 및 승인을 구현할 수 있습니다. 예는 다음과 같습니다.
class PrivateResource(Resource): @auth.login_required def get(self): return {"message": "Hello, %s!" % auth.username()}, 200 api.add_resource(PrivateResource, '/private')
위 코드에서는 인증을 위해 Flask-HTTPAuth의 login_required 데코레이터를 사용하여 보호된 리소스 PrivateResource가 생성됩니다. 요청의 사용자 이름과 비밀번호가 일치하는 경우 get 메서드를 호출하면 사용자 이름이 포함된 JSON 개체가 반환됩니다.
경로를 생성한 후 Flask 애플리케이션을 실행하고 사용자 이름과 비밀번호를 사용하여 인증할 수 있습니다.
$ curl -u john:hello http://localhost:5000/private {"message": "Hello, john!"} $ curl -u susan:bye http://localhost:5000/private {"message": "Hello, susan!"}
위 내용은 Flask-RESTful 및 Flask-HTTPAuth: Python 웹 애플리케이션의 사용자 인증 및 권한 부여 모범 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!