0

次のコードを実行すると

user = users.get_current_user()
if users.is_current_user_admin():
    loggedin = 'Admin'
elif user:
    loggedin = 'User'
else:
    loggedin = 'Anonymous'

開発環境では、管理者としてログインすると管理者、ユーザーとしてユーザー、ログインしていないときに匿名になります。本番環境では常に匿名になります。なぜこれが機能しないのですか?

4

2 に答える 2

1

この問題は、if/elif/else または users.create_login_url() とは関係ありません。この問題は、ユーザーが users.create_login_url() を使用して HTTPS でログインしたときに、App Engine が http 要求でログインしているユーザーを認識しないことにあります。これに関する新しい質問を作成しましたhere . Cookieの設定方法に関係があると思います。

コードが本番環境ではなく開発環境で機能していた理由は、開発環境が HTTPS URL を処理して http に再マップし、問題を回避してリクエストを処理する方法です。

于 2012-06-09T18:47:45.547 に答える
0

最初にusers.create_login_url()を介してログインする必要があります

于 2012-06-06T01:25:30.770 に答える