Flask-RESTful 및 Flask-HTTPAuth: Python 웹 애플리케이션의 사용자 인증 및 권한 부여 모범 사례

WBOY
풀어 주다: 2023-06-17 17:12:54
원래의
1700명이 탐색했습니다.

웹 애플리케이션의 인기로 인해 사용자 인증 및 권한 부여가 점점 더 중요해지고 있습니다. 이러한 기능은 인증된 사용자만 액세스할 수 있도록 웹 애플리케이션의 중요한 데이터와 중요한 기능을 보호합니다. Python 언어는 웹 애플리케이션에서 사용자 인증 및 권한 부여를 더 쉽게 구현할 수 있는 많은 라이브러리와 프레임워크를 제공합니다. 이 기사에서는 웹 애플리케이션에서 인증 및 권한 부여를 구현하기 위한 모범 사례인 Flask-RESTful 및 Flask-HTTPAuth라는 두 가지 Python 라이브러리를 소개합니다.

  1. Flask-RESTful이란 무엇인가요?
    Flask-RESTful은 Flask 프레임워크 기반의 RESTful 라이브러리로, RESTful API를 쉽게 생성할 수 있습니다. Flask, Werkzeug 및 Jinja2를 기반으로 구축되어 가벼운 RESTful 프레임워크와 Flask와 완벽하게 작동하는 간단한 라우팅 시스템을 제공하므로 개발자는 RESTful API를 신속하게 생성할 수 있습니다.
  2. Flask-HTTPAuth란 무엇인가요?
    Flask-HTTPAuth는 Flask 웹 애플리케이션에 대한 사용자 인증 및 권한 부여를 제공하는 라이브러리로, HTTP 기본 인증, 쿠키, 토큰 또는 기타 사용자 지정 방법을 통해 인증할 수 있습니다. Flask-HTTPAuth는 추가 데이터베이스가 필요하지 않으며 애플리케이션의 구성 파일에 사용자 인증 정보를 저장합니다. 이를 통해 인증 프로세스가 훨씬 간단하고 편리해졌습니다.
  3. Flask-RESTful 및 Flask-HTTPAuth를 사용하여 인증 및 권한 부여 구현
    Flask-RESTful 및 Flask-HTTPAuth를 사용하여 인증 및 권한 부여를 구현하기 전에 애플리케이션에 일부 설정을 지정해야 합니다. 먼저 Flask, Flask-RESTful 및 Flask-HTTPAuth 라이브러리를 설치해야 합니다.
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!"}
로그인 후 복사
  1. 요약
    이 기사에서는 Python 웹 애플리케이션에서 Flask-RESTful 및 Flask-HTTPAuth 라이브러리를 구현하는 방법을 다루었습니다. 권한 부여. Python 라이브러리를 설정하고 위의 코드 예제를 사용하면 웹 애플리케이션의 중요한 데이터와 중요한 기능을 보호하여 승인된 사용자만 액세스할 수 있도록 할 수 있습니다. Python은 강력하고 배우기 쉽고 사용하기 쉬운 언어로, 데이터 과학 및 웹 프로그램 개발과 같은 분야에서 매우 인기가 높습니다. Python의 생태계도 매우 풍부하여 개발을 더 쉽고 빠르게 할 수 있는 많은 라이브러리와 프레임워크를 제공합니다.

위 내용은 Flask-RESTful 및 Flask-HTTPAuth: Python 웹 애플리케이션의 사용자 인증 및 권한 부여 모범 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!