이 기사에서는 Flask-Login이 제공하는 다양한 기능과이를 사용하여 웹 애플리케이션을위한 안전한 사용자 로그인 기능을 만드는 방법을 살펴 보겠습니다. 이 기사가 끝나면 Flask-Login을 사용하여 플라스크 응용 프로그램에서 안전한 사용자 인증을 구현하는 방법을 잘 이해할 수 있습니다.
파이썬과 플라스크 구문 에 대한 지식
그런 다음 제공된 사용자 이름으로 사용자의 데이터베이스를 쿼리합니다. 제공된 사용자 이름을 가진 사용자가 발견되고 암호가 일치하면이 블록 내부의 코드가 실행됩니다.
일단, 사후 요청임을 확인하고, 로그인 양식에서 사용자가 입력 한 값을 검색합니다.
플라스크의 템플릿을 사용하면 HTML 페이지를 사용하여 사이트가 어떻게 보이는지 정의 할 수 있습니다. App.py 파일에서 논리를 완전히 구현하려면 아래 그림의 HTML 페이지를 만들 것입니다.
<.> 사용자 세션 관리. Flask-Login은 사용자 세션의 생성 및 파괴를 처리합니다. 또한 사용자가 로그인한지 쉽게 확인할 수 있도록 현재 사용자의 ID를 세션에 저장할 수 있습니다.
로그인 및 로그 아웃 기능. Flask-Login은 내장 로그인 및 로그 아웃 기능을 제공합니다. 이러한 기능은 세션을 만들고 파괴하고 사용자를 적절한 페이지로 리디렉션하는 등 모든 중요한 프로세스를 처리합니다.
flask-sqlalchemy : 데이터베이스 작업을 위해 sqlalchemy를 플라스크와 통합합니다
Flask-Bcrypt : flask 에서 암호 보안을 위해 Bcrypt 해싱을 추가합니다
로그 아웃 함수 내부에서 logout_user ()가 호출됩니다. 이 기능은 Flask-Login에 의해 제공되며 현재 사용자를 기록하는 데 사용됩니다.
독특한 ID
이 코드는 일반적으로 파이썬 스크립트의 끝 또는 데이터베이스 초기화 전용 스크립트에 배치됩니다. 스크립트를 실행하면 데이터베이스 파일은 이전에 정의한 모델을 기반으로 해당 테이블로 작성됩니다.
이 경우 코드는 아직 존재하지 않는 경우 사용자 테이블이있는 site.db 파일을 만듭니다. site.db 파일은 일반적으로 /인스턴스 /라는 폴더로 제공됩니다.
pip <span>install flask-login flask_sqlalchemy flask_bcrypt</span>
암호 해싱
pip <span>install flask-login flask_sqlalchemy flask_bcrypt</span>
그런 다음 제공된 사용자 이름으로 사용자의 데이터베이스를 쿼리합니다.
<span>from flask_sqlalchemy import SQLAlchemy
</span>
<span>from flask_login import UserMixin, LoginManager, login_user, logout_user, login_required
</span>
<span>from flask_bcrypt import Bcrypt
</span>
<span>from flask_login import LoginManager
</span> app <span>= Flask(__name__)
</span>
login_manager <span>= LoginManager()
</span>
login_manager<span>.init_app(app) </span>
<span>class User(UserMixin):
</span>
<span>id = db.Column(db.Integer, primary_key=True)
</span>username <span>= db.Column(db.String(64), unique=True)
</span>password_hash <span>= db.Column(db.String(128))
</span>
<span>def __repr__(self):
</span> <span>return <span>f'<user>{self.username}</user></span>>'</span>
본질적으로 입력 된 자격 증명이 유효한지 확인하고 사용자를 로그인 한 다음 성공하면 환영 페이지로 리디렉션됩니다. 로그인이 실패했거나 GET 요청 인 경우 사용자가 자격 증명을 입력 할 수 있도록 로그인 템플릿을 렌더링합니다.
app<span>.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' # Using SQLite as the database</span>
이 기능을 사용하려면 Flask-Login에서 Login_Required Decorator를 가져와야합니다.
따라서 사용자가 /로그 아웃 경로에 액세스 할 때 Flask-Login은 (@Login_Required) 로그인하고 로그인하여 로그인 페이지로 리디렉션합니다. 이는 플라스크 애플리케이션에서 사용자 로그 아웃을 안전하게 처리하는 데 도움이됩니다. login_required 데코레이터는 /보호 된 경로에 적용되므로 인증 된 사용자 만 액세스 할 수 있음을 나타냅니다. 사용자가 로그인하지 않고 보호 된 페이지에 액세스하려고하면 Flask-Login이 로그인 페이지로 리디렉션됩니다.
위 내용은 Flask-Login으로 사용자 인증을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

ArraysareGenerallyMorememory- 효율적 인 thanlistsortingnumericaldataduetotheirfixed-sizenatureanddirectmemoryAccess.1) ArraysStoreElementsInacontiguousBlock, retoneverHead-fompointerSormetAdata.2) 목록, 종종 implementededymamamicArraysorlinkedStruct

ToconvertapyThonlisttoAnarray, usethearraymodule : 1) importThearrayModule, 2) CreateAlist, 3) Usearray (typecode, list) toconvertit, thetypecodelike'i'forintegers

Python 목록은 다양한 유형의 데이터를 저장할 수 있습니다. 예제 목록에는 정수, 문자열, 부동 소수점 번호, 부울, 중첩 목록 및 사전이 포함되어 있습니다. 목록 유연성은 데이터 처리 및 프로토 타이핑에서 가치가 있지만 코드의 가독성과 유지 관리를 보장하기 위해주의해서 사용해야합니다.

PythondoesnothaveBuilt-inarrays; Usethearraymoduleformory- 효율적인 호모 유전자 도자기, whilistsareversartileformixedDatatypes.arraysareefficiTiveDatasetsophesAty, whereferfiblityAndareAsiErtouseFormixOrdorSmallerSmallerSmallerSMATASETS.

themoscommonLyusedModuleForraySinisThonisNumpy.1) NumpyProvideseficileditionToolsForArrayOperations, IdealFornumericalData.2) ArrayscanBecreatedUsingnp.array () for1dand2dsuctures.3) Numpyexcelsinlement-wiseOperations Numpyexcelscelslikemea

toAppendElementStoapyThonList, usetHeappend () MethodForsingleElements, extend () formultipleements, andinsert () forspecificpositions.1) useappend () foraddingOneElementatateend.2) usextend () toaddmultipleementsefficially

To TeCreateAtheThonList, usequareBrackets [] andseparateItemswithCommas.1) ListSaredynamicandCanholdMixedDatAtatypes.2) useappend (), remove () 및 SlicingFormAnipulation.3) listlisteforences;) ORSL

금융, 과학 연구, 의료 및 AI 분야에서 수치 데이터를 효율적으로 저장하고 처리하는 것이 중요합니다. 1) 금융에서 메모리 매핑 파일과 Numpy 라이브러리를 사용하면 데이터 처리 속도가 크게 향상 될 수 있습니다. 2) 과학 연구 분야에서 HDF5 파일은 데이터 저장 및 검색에 최적화됩니다. 3) 의료에서 인덱싱 및 파티셔닝과 같은 데이터베이스 최적화 기술은 데이터 쿼리 성능을 향상시킵니다. 4) AI에서 데이터 샤딩 및 분산 교육은 모델 교육을 가속화합니다. 올바른 도구와 기술을 선택하고 스토리지 및 처리 속도 간의 트레이드 오프를 측정함으로써 시스템 성능 및 확장 성을 크게 향상시킬 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.