当我运行以下代码时
user = users.get_current_user()
if users.is_current_user_admin():
loggedin = 'Admin'
elif user:
loggedin = 'User'
else:
loggedin = 'Anonymous'
在开发环境中,当我以管理员身份登录时,我以管理员身份登录管理员,用户身份登录,以及未登录时匿名。在生产时,我总是得到匿名。为什么这不起作用?
答案 0 :(得分:1)
该问题与if / elif / else或users.create_login_url()无关。当用户使用HTTPS登录users.create_login_url()时,App Engine无法识别http请求中的登录用户。我已就此here创建了一个新问题。我认为它与如何设置cookie有关。
代码处理Dev而不是生产的原因是开发环境如何处理HTTPS URL,它将其重新映射到http并提供避免问题的请求。
答案 1 :(得分:0)
首先需要通过users.create_login_url()
登录