나는 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로 반환하도록 설정했기 때문에이 방법에 대해서는 알지 못합니다.
또한 내 접근법이 어색해. 파이썬 쪽 앱에 더 나은 솔루션이 있다고 생각한다.
그럼 내 질문은 다음과 같습니다. 사용자를 감지하는 가장 현명한 방법은 로그인되어 있고이를 부여 받거나 액세스하지 못하게하거나/login 및/register 페이지에서 리디렉션하는 것입니까? 아마도
@login_required
반대 또는 나는 어쩌면 내가 오른쪽에 있었다,
@groups_required(['unauthorised'])
에로 사용할 또는 수 내장 된 '무단'그룹 stormpath이 곳 마법의 장식이있다 내 원래 시도와 라인.
어떤 도움에 감사드립니다 :)
업데이트 : 난 그냥/등록 페이지 내 원래의 접근 방식 (템플릿 기반 솔루션)을 시도하고를 가지고있다 원하는 행동. 것들은 여전히 / 로그인을 위해 작동하지 않습니다. 로그인 한 사용자가 방문/로그인하면 로그 아웃되고 로그인 페이지가 표시 될 가능성이 점점 더 커지고 있습니다. 이 문제를 어떻게 처리해야할지 모르겠다. –