FlaskとFlask-Loginを使用して、Webアプリケーションにユーザー認証を追加する方法を紹介します。この記事では、ログインしていないユーザーが見ることができない保護されたページを作成し、ユーザーがログインしてアクセスできるようにします。

Flask-Loginのインストール

まず、Flask-Loginをインストールします。これはPythonのパッケージ管理ツールであるpipを使用して行います。

pip install flask-login

ユーザーモデルの作成

次に、Flask-SQLAlchemyを使用してユーザーモデルを作成します。このモデルは、データベースに保存されるユーザー情報を表します。

from flask_sqlalchemy import SQLAlchemy
from flask_login import UserMixin

db = SQLAlchemy()

class User(UserMixin, db.Model):
    # ユーザーモデルの定義
    pass

ログインとログアウト

Flask-Loginは、login_userlogout_user関数を提供しています。これらの関数を使用して、ユーザーのログインとログアウトを簡単に管理できます。

from flask_login import login_user, logout_user

@app.route('/login')
def login():
    # ユーザーのログイン処理
    if valid():
        login_user(user)
        return redirect(request.args.get('next') or url_for('index'))

@app.route('/logout')
def logout():
    # ユーザーのログアウト処理
    logout_user()

ログインが必要なページ

@login_requiredデコレーターを使用して、ログインが必要なページを簡単に管理できます。このデコレーターを使用すると、ログインしていないユーザーは指定したページにアクセスできなくなります。

from flask_login import login_required

@app.route('/protected')
@login_required
def protected():
    return 'Logged in as: ' + current_user.id

以上が、FlaskとFlask-Loginを使用したユーザー認証の基本的な手順です。これらの手順を適切に組み合わせることで、独自のユーザー認証システムを構築できます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です