[python] 웹 서버에 로그인 기능 추가하기
이번 포스트에서는 Python 웹 서버에 로그인 기능을 추가하는 방법에 대해 알아보겠습니다. 웹 애플리케이션이나 웹 사이트를 개발할 때, 사용자 인증 기능은 중요한 요소입니다. 사용자들은 로그인하여 자신의 계정에 접근하고 개인 정보를 관리할 수 있어야 합니다.
Flask 웹 프레임워크
이 예제에서는 Flask 웹 프레임워크를 사용하여 간단한 웹 서버를 구축합니다. Flask는 Python으로 작성된 웹 프레임워크로, 신속하게 웹 애플리케이션을 개발할 수 있는 강력한 도구입니다. Flask를 사용하려면 먼저 Flask를 설치해야 합니다. 아래 명령을 사용하여 Flask를 설치해주세요.
pip install flask
로그인 기능 구현하기
- 필요한 모듈을 import 합니다.
from flask import Flask, render_template, request, redirect, session
- Flask 애플리케이션을 생성하고 비밀 키를 설정합니다.
app = Flask(__name__) app.secret_key = "your_secret_key"
- 사용자가 로그인할 수 있는 HTML 페이지를 작성합니다.
@app.route("/") def login(): return render_template("login.html")
- 로그인을 처리하는 경로를 설정합니다. 사용자가 제출한 로그인 정보를 확인하고 세션에 사용자 정보를 저장합니다.
@app.route("/login", methods=["POST"]) def process_login(): username = request.form.get("username") password = request.form.get("password") # 로그인 정보 확인 후 세션에 저장 if username == "admin" and password == "1234": session["username"] = username return redirect("/dashboard") else: return render_template("login.html", error="Invalid login credentials")
- 사용자 인증이 필요한 페이지를 작성합니다. 사용자가 로그인되어 있지 않으면 로그인 페이지로 리디렉션됩니다.
@app.route("/dashboard") def dashboard(): if "username" in session: return render_template("dashboard.html", username=session["username"]) else: return redirect("/")
- 로그아웃을 처리하는 경로를 설정합니다. 세션에서 사용자 정보를 삭제하고 로그인 페이지로 리디렉션합니다.
@app.route("/logout") def logout(): session.pop("username", None) return redirect("/")
- 애플리케이션을 실행합니다.
if __name__ == "__main__": app.run()
실행 및 테스트
위의 코드를 예제 파일에 저장한 후, 터미널에서 다음 명령을 실행하여 웹 서버를 시작합니다.
python app.py
웹 브라우저에서 http://localhost:5000 주소를 열어서 로그인 페이지가 표시되는지 확인합니다. “admin”과 “1234”로 로그인하여 대시보드 페이지로 이동하는지 확인해보세요.
이렇게 간단한 Flask 애플리케이션에 로그인 기능을 추가하는 방법을 알아보았습니다. 사용자 인증은 웹 애플리케이션의 보안과 사용자 경험을 향상시키는 데 중요한 역할을 합니다. 본 예제를 기반으로 웹 애플리케이션을 더 발전시켜 나가실 수 있습니다.