flask login 예제

로그인() 함수의 맨 위 두 줄은 이상한 상황을 처리합니다. 로그인한 사용자가 있고 사용자가 응용 프로그램의 /login URL로 이동한다고 가정합니다. 분명히 그것은 실수이므로 허용하지 않으려고합니다. 현재_user 변수는 Flask-Login에서 제공되며 처리 중에 언제든지 요청의 클라이언트를 나타내는 사용자 개체를 가져오는 데 사용할 수 있습니다. 이 변수의 값은 데이터베이스의 사용자 개체(위에서 제공한 사용자 로더 콜백을 통해 읽는 Flask-Login) 또는 사용자가 아직 로그인하지 않은 경우 특별한 익명 사용자 개체일 수 있습니다. 사용자 개체에 필요한 Flask-Login 속성을 기억하십니까? 그 중 하나는_인증, 사용자가 로그인 여부를 확인 하는 데 유용. 사용자가 이미 로그인하면 인덱스 페이지로 리디렉션됩니다. @Moneo: 문서는 친구입니다. 플라스크-로그인에는 자격 증명을 기억할 길이로 설정할 수 있는 REMEMBER_COOKIE_DURATION 항목이 있습니다. https://flask-login.readthedocs.io/en/latest/#cookie-settings 참조하십시오.

먼저 요청 개체를 사용하여 양식 데이터를 얻어야 합니다. 요청 개체에 익숙하지 않은 경우 여기에 기사에 썼습니다: https://scotch.io/bar-talk/processing-incoming-request-data-in-flask 이 기능을 구현하려면 Flask-Login이 로그인을 처리하는 뷰 함수가 무엇인지 알아야 합니다. 이 앱/__init__py에 추가할 수 있습니다. 이제 응용 프로그램이 사용자 데이터베이스에 액세스할 수 있고 암호 해시를 생성하고 확인하는 방법을 알고 되었으므로 이 보기 기능을 완료할 수 있습니다. 로그인 및 로그아웃 기능의 작동 방식을 테스트하는 것이 좋습니다. 아직 사용자 등록이 없기 때문에 데이터베이스에 사용자를 추가하는 유일한 방법은 Python 셸을 통해 수행하는 것이므로 플라스크 셸을 실행하고 다음 명령을 입력하여 사용자를 등록합니다: 로그인 방법은 사용자를 데려갈 것이라는 등록 기능과 유사합니다. 그것으로 뭔가를 할 수 있습니다. 이 경우 입력한 전자 메일 주소를 비교하여 데이터베이스에 있는지 확인합니다. 이 경우 사용자가 암호로 해시하고 데이터베이스의 해시된 암호와 비교하여 사용자가 제공한 암호를 테스트합니다. 해시된 암호가 모두 일치할 때 사용자가 올바른 암호를 입력했다는 것을 알고 있습니다.

이 예제를 실행하려면 종속성이 설치된 플라스크 및 플라스크 로그인이 필요합니다. 아래와 같이 pip를 사용하여 수행할 수 있습니다: 코드의 처음 다섯 줄은 필요한 모듈을 가져오고 Flask 앱을 초기화합니다.