非常に単純なアプリケーションの場合、HTTP基本認証はおそらく十分です。フラスコはこれを非常に簡単にします。あなたが基本的な認証を使用している場合
@app.route('/secret-page')
@requires_auth
def secret_page():
return render_template('secret_page.html')
:特定のユーザのためにのみ利用可能である機能を中心に適用される以下のデコレータは、まさにそのん:ちょうどビュー機能をラップ、このデコレータを使用するには
from functools import wraps
from flask import request, Response
def check_auth(username, password):
"""This function is called to check if a username password combination is valid. """
return username == 'admin' and password == 'secret'
def authenticate():
"""Sends a 401 response that enables basic auth"""
return Response(
'Could not verify your access level for that URL.\n'
'You have to login with proper credentials', 401,
{'WWW-Authenticate': 'Basic realm="Login Required"'})
def requires_auth(f):
@wraps(f)
def decorated(*args, **kwargs):
auth = request.authorization
if not auth or not check_auth(auth.username, auth.password):
return authenticate()
return f(*args, **kwargs)
return decorated
をmod_wsgiを使用すると、認証転送を有効にする必要があります。それ以外の場合、Apacheは必要なヘッダーを消費し、アプリケーションに送信しません。WSGIPassAuthorization
[Falcon](https://falconframework.org/)を使用しているのか、[Flask](http://flask.pocoo.org/)を使用していますか?クラス/メソッドからファルコンのように見えるが、あなたの説明はフラスコとあなたのタイトルの鷹を言及する。 – otupman
on_getは間違いなくファルコンのことです。あなたがセッション管理をしたいのであれば、私はFlaskがあなたのために良い選択だと思う(あなたのプロジェクトについては何も知らない)。ファルコンを使って私はビーカーを使ってみましたが、それは良いですが、そのドキュメントはそれほど明確ではないので、私は今日PRをしています。 – JasTonAChair