私はStormpathとFlask-Stormpathを認証用に使用するFlaskアプリを構築しています。ログインしたユーザーが/ loginまたは/ registerページにアクセスすることを防ぎたいのですが(これはあまり意味がないので、ログインしたユーザーはログインする必要はなく、既にログインしている場合は定義で登録しています) )。ユーザーが現在ログインしている場合user.given_nameが定義され、ログインしたユーザーがFlask-Stormpathでログイン/登録ページにアクセスするのを止めるには?
{% block page_heading %}
{% if user.given_name %}
Already Logged in as {{ user.given_name }}
{% else %}
Enter your credentials
{% endif %}
{% endblock page_subheading %}
とpage_headingブロック「は既にログインして取る:私はの線に沿って何かをやって、私のカスタムログインページテンプレートでソリューションを試みてきました(認証されていないユーザーがログインしようとしている通常の場合)「入力する」というメッセージが表示されます。私は、同じ構成を使用してログインフォームまたはその他のエラーテキストを表示します。しかし、この試みはうまくいかず、ログインしたユーザーが/ loginにアクセスすると、user.given_nameは常にundefinedに戻ります。これは、誰かがログインして訪問/ログインするとログアウトされた場合、これが解決策への私の試みの失敗を説明することを意味します。
上記とドキュメントを参考にして、私はis_authenticated()を使用できるかもしれません。しかし、Flask-Stormpathではなく、基本的なFlask-Loginモジュールを通して、Flask-StormPathはこれを常にドキュメントごとにTrueを返すように設定しています。しかし、これについてどう考えているのか分かりません。
さらに、私のアプローチはハッキリです。私は、アプリのPython側にもっと良い解決策があると感じています。
これは私の質問です。ユーザーを検出する最も賢明な方法は、ログインしてこれを与え、アクセスしないようにするか、/ loginおよび/ registerページからリダイレクトすることですか?おそらく、
@login_required
または内蔵私は
@groups_required(['unauthorised'])
か、多分私が右にあったのように使用することができます「不正」グループstormpathとは反対側のどこか不思議なデコレータがあります私の元の試みで行。
すべてのヘルプは高く評価され:)
アップデート:私はちょうど/レジスタページで自分の独創的なアプローチ(テンプレートベースのソリューションを)しようとした持っています所望の挙動。物事はまだ/ログインのために働かない。ログインしたユーザーが訪問/ログインすると、ログアウトされ、ログインページが表示される可能性がますます高くなっています。これに対処する方法がわからない –