blog details
author


blog detail

사용자 기반 및 고객 지향은 오늘날의 비즈니스 모델에서 매우 인기가 있습니다. 웹 2.0과 별도로 웹 3.0은 탈중앙화를 강조하고 더 많은 데이터 권한과 데이터 관리를 현재 사용자에게 돌려줍니다. 따라서 사용자 중심화 접근 방식 추세가 발생하고 있으며 이는 더 중요할 것입니다. 따라서 Flask를 사용하여 애플리케이션을 구축할 때 사용자 로그인 및 인증 시스템은 기본적으로 갖추어야 할 기능입니다. 오늘은 Flask 로그인 관리자를 활용하고 애플리케이션에서 로그인 관리자를 구축하는 방법에 대해 설명합니다.

목차: Flask 로그인 시스템

Flask 로그인 관리자 설치 및 구성

이 모듈은 Flask 애플리케이션에서 사용자 세션 관리를 제공합니다. 로그인, 로그아웃, 장기간에 걸친 사용자 세션 기억과 같은 일반적인 작업을 처리합니다.

기본적으로 Flask 로그인 관리자를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 활성 사용자의 ID를 세션에 저장하고 쉽게 로그인 및 로그아웃할 수 있습니다.
  • 로그인한(또는 로그아웃한) 사용자로 보기를 제한할 수 있습니다.
  • 일반적으로 까다로운 "기억하기" 기능을 처리합니다.
  • 쿠키 도둑이 사용자 세션을 도난당하지 않도록 보호하십시오.
  • Flask-Principal 또는 기타 인증 확장과 통합할 수 있습니다.

먼저 Flask 로그인 관리자를 설치하는 것은 매우 쉽습니다. 컴퓨터 터미널에 pip3 install flask-login 입력할 수 있습니다. 그런 다음 플라스크애플리케이션으로 플라스크 로그인을 구성하는 것은 다음 세 단계를 수행하는 것입니다.

1. 플라스크 로그인 모듈 가져오기

2. LoginManager 인스턴스를 시작하고 앱과 연결합니다.

3. user_id를 반환하여 load_user 함수를 정의합니다.

SQLAlchemy 및 Flask 로그인 UserMixin을 사용하여 사용자 데이터베이스 생성 및 구성

1번, SQLAlchemy 모듈을 가져와 플라스크 애플리케이션으로 구성해야 합니다.

<. p class="ud-blog-details-para">둘째, 필요한 데이터 열과 각 데이터 열의 사양이 추가된 User 클래스를 만듭니다.

마지막으로 이니셔티브 SQLAlchemy 데이터베이스를 만들어야 합니다. 터미널에서 이니셔티브 SQLAlchemy 데이터베이스를 만들 수 있습니다. 플라스크 애플리케이션에서 생성한 애플리케이션 이름과 플라스크 앱과 연결하는 데 사용한 변수 이름을 사용하십시오. 나는 여기에서 앱과 db를 사용합니다.

사용자 등록

이제 새로운 사용자가 애플리케이션에 가입할 수 있도록 등록 경로를 구축할 준비가 되었습니다.

먼저 사용자가 등록하려면 경로가 반드시 필요합니다.

@app.route("/registration", methods=['GET', 'POST'])

Flask 경로 및 HTML에서 제출 데이터 수집에 대한 자세한 내용은 이 기사를 확인하십시오.

https://www.easy2digital.com/automation/data/python-tutorial-26-create-a-shopify-bot-web-application-using-flask-and-heroku/

둘째, 이전에 생성한 User 클래스를 참조하여 등록 경로에 있는 양식의 새 사용자 입력 데이터를 데이터베이스 열과 일치시켜야 합니다. 응용 프로그램에도 API 프로그램이 있는 경우 여기에도 토큰 변수를 추가하고 새 사용자가 입력한 암호를 해독해야 합니다.

new_user = User(email=email, username=username, password=generate_password_hash(password, method='sha256'), token=token.decode())

그런 다음 new_user를 추가하고 commit() 을 사용하여 확인하고 이전에 만든 login_user 함수를 사용하여 기억할 수 있습니다.

Flask JWT API 배포에 대한 자세한 내용은 이 문서를 참조하세요.

https://www.easy2digital.com/automation/data/python-tutorial-54-utilize-flask-jwt-to-tokenizer-the-api-user-identity-and-authenticate-users/

Flask login_user, logout_user 및 current_user

새 사용자 생성 후 Flask는 개발자가 로그인 페이지, 로그아웃 페이지를 구축하고 사이트에 로그인한 사용자를 감지할 수 있도록 모듈을 제공합니다.

먼저 flask_login에서 모듈을 가져와야 합니다. 다음 섹션에서 login_required에 대해 이야기하겠습니다.

로그인_사용자

로그인 페이지에 입력된 사용자 로그인 정보를 확인하기 위해 SQLAlchemy 데이터의 사용자 비밀번호가 방문자가 입력한 비밀번호와 일치하는지 확인할 수 있습니다.

User 클래스의 query.filter_by 사용하여 이메일 주소를 먼저 일치시킵니다.

그런 다음 가져온 이메일 사용자의 비밀번호가 양식의 입력 값과 일치하면 로그인됩니다. 그리고 login_user는 나중에 log_out 전에 모든 세션에서 이 사용자를 기억할 수 있습니다.

Logout_user

사용자가 자신의 계정에서 로그아웃할 수 있는 새 경로 만들기

현재 사용자

이것은 페이지를 방문하는 사람을 애플리케이션에 알려주는 매우 유용한 모듈입니다. 회원 전용 콘텐츠를 제공하거나 알 수 없는 사용자와 가입 사용자 간에 콘텐츠를 차별화하려는 경우. 이 모듈을 사용하면 기능을 쉽게 배포하고 구축할 수 있습니다.

return render_template("shopify.html", user=current_user)

기존 사용자를 감지하려면 각 경로의 render_template에 current_user를 추가하거나 Flask 애플리케이션에서 개인화된 콘텐츠를 표시하려는 경로를 추가해야합니다.

Login_required 데코레이터

구성원에게만 공개되는 경로의 경우 경로 아래에 login_required 데코레이터를 추가해야 합니다. 예를 들어, 사용자가 아직 로그인하지 않은 경우 로그아웃 페이지를 클릭할 수 없으며 먼저 로그인을 알리는 플라스크 메시지를 추가할 수 있습니다.

@app.route("/logout")
@login_required
def logout():
logout_user()
return redirect(url_for('home'))

Flask 로그인 및 인증의 전체 Python 스크립트

57장 – Flask를 사용하여 사용자 계정 로그인 및 인증 시스템 구축, SQLAlchemy,"Chapter 57"이라는 메시지를 추가하여 뉴스레터를 구독 하십시오. . 귀하의 사서함으로 스크립트를 즉시 보내드립니다.

문의하기

57장 – Flask, SQLAlchemy를 사용하여 사용자 계정 로그인 및 인증 시스템 구축을 즐겁게 읽으시기 바랍니다. 그렇다면 아래 나열된 항목 중 하나를 수행하여 지원해 주세요. 항상 채널에 도움이 되기 때문입니다.

  • PayPal( paypal.me/Easy2digital )을 통해 채널을 지원하고 기부하세요.
  • 제 채널 구독하시고 알림벨을 켜주세요 Easy2Digital 유튜브 채널.
  • 내 페이지 팔로우 및 좋아요 Easy2Digital Facebook 페이지
  • #easy2digital 해시태그를 사용하여 소셜 네트워크에 기사를 공유하세요.
  • Easy2Digital 10% 할인 코드로 제품 구매 ( Easy2DigitalNewBuyers2021)
  • Easy2Digita. l 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하십시오.
  • 독점적인 혜택을 누리려면 Patreon을 통해 월간 멤버십을 구독하세요(www.patreon.com/louisludigital).
이 게시물을 공유하세요

현재 댓글이 없습니다...

shape shape

뉴스레터에 가입하세요!

독점적인 자동차 스타일 콘텐츠 업데이트 및 특가를 받으세요