use*_*626 13 google-app-engine angularjs
建立:
页面内容由静态文件提供,因此无法使用users.create_login_url(),users.create_logout_url()等.
你通常如何登录/退出用户,确定用户是否登录/退出,用户是这样的应用程序的管理员?
我自己正在努力解决这个问题.该项目名为Sapling - 它是一个涵盖用户管理的AngularJS入门项目.
这是我采取的方法:
用户访问该网站 - 加载HTML和JavaScript
加载Angular后发出GET请求'/api/user/me'.如果用户登录则返回用户的表示,例如
{
"name": "Bob",
"admin": false,
// ect.
}
Run Code Online (Sandbox Code Playgroud)
如果用户没有回报记录一个401错误.
如果返回用户对象 - 请检查用户是否也是管理员.如果401收到a将用户重定向到登录页面(您可以在Angular应用程序中创建登录页面,或者如果您觉得用户不会感到困惑,您可以直接将其发送到Google登录页面).
在您的请求处理程序中为url '/ api/user/me'
打电话get_current_user()和is_current_user_admin()
用户已登录 - 附加管理员boolean并将用户的表示形式返回为json.
用户未登录 - 返回401未授权,即response.set_status(401)
您可以在以下网址创建请求处理程序:
'API /用户/登录'
webapp2.redirect(users.create_login_url())
Run Code Online (Sandbox Code Playgroud)
'API /用户/注销'
webapp2.redirect(users.create_logout_url())
Run Code Online (Sandbox Code Playgroud)
并从Angular直接向用户发送消息.
我认为我涵盖了基础知识.如果您需要更多详细信息,请告诉我们.
vos*_*usa -2
另请参阅此问题:在提供静态内容时限制使用 GAE 对静态文件的访问 。
在您的处理程序中,您可以使用用户服务来查明谁登录以及该“用户”是否是管理员。示例: https: //developers.google.com/appengine/docs/python/users/overview
如果您使用客户端应用程序,OAUTH2 是更好的选择。
| 归档时间: |
|
| 查看次数: |
3963 次 |
| 最近记录: |