python - 使用 json 渲染器将记住 header 添加到 json 响应

标签 python json authentication pyramid

这是我用来向响应中添加 remeber header 的当前方式:

@view_config(route_name='login', renderer='json', request_method='POST')
def post_login(request):
   ...
   ... authentication logic
   ...
   headers = remeber(request, login)
   return HTTPFound(location=came_from, headers=headers)

但我的 js 正在等待响应 {successful: True, message: 'auth OK'}。 HTTPFound 将重定向到 came_from。我要 js 重定向

所以我试过了

@view_config(route_name='login', renderer='json', request_method='POST')
def post_login(request):
   ...
   ... authentication logic
   ...
   return { 'successful': True, 'message': 'auth OK'}

但由于 remeber header 从未添加到响应中,因此它永远不会在 moooon 的另一端进行身份验证。

所以我的问题是如何使用 json 渲染器添加那些 remeber header ?

最佳答案

您可以直接在响应中设置该信息,如 Vary Attributes of Rendered Responses section 中所述 Pyramid 手册:

@view_config(route_name='login', renderer='json', request_method='POST')
def post_login(request):
   ...
   ... authentication logic
   ...
   headers = remeber(request, login)
   request.response.headerlist.extend(headers)
   return { 'successful': True, 'message': 'auth OK'}

关于python - 使用 json 渲染器将记住 header 添加到 json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14925652/

相关文章:

python - pandas - 删除包含某些值的行

python - 如何将 python 变量编码为 URL 和网络服务器响应?

jquery - 如何处理 Ajax JSON 响应?

java - 错误: Value Fatal of type java. lang.String无法转换为JSONObject

python - 为什么cv2转换后的灰度图仍然有3个 channel ?

python - 为什么向字典中的集合添加一个元素,所有集合都会被修改? (Python)

java - 通用方法动态替换参数类型导致异常

java - Gson反序列化抛出转换错误

php - 使用 php curl http post 在 ownCloud 上创建用户

java - 如何在Java开发中在Azure(版本1.1.2)上设置代理?