python - 通过 django 中的 ssl 证书进行用户身份验证

标签 python django authentication ssl

我正在为一个封闭的用户组编写一个网络应用程序。它将仅通过 HTTPS 提供服务。服务器应通过检查用户的 SSL 证书来检查是否允许用户访问服务器。我宁愿只拥有一个白名单(例如:用户配置文件中带有用户证书的字段),而不是使用我的 CA 签署他们的 key 。由于没有用户/通行证,内容将取决于客户提供的证书。

我知道我可以向 apache/nginx 提供他们的证书列表,但我不喜欢这个解决方案,因为我需要将这个列表保存在两个地方:apache(access/deny) 和 Django:auth中间件(内容取决于提供的证书)。维护它可能是一场噩梦。

有更好的方法吗?我应该让 Django 处理 SSL 吗?

最佳答案

我为此创建了一个 Django 模块,该实现在 MIT 许可下可用,可在 github 上使用. 基本上,该方法是这样的:

  1. nginx 处理所有 SSL 和证书验证工作
  2. Django 身份验证后端将(已验证的)证书专有名称映射到您正在使用的任何 User 模型。

关于python - 通过 django 中的 ssl 证书进行用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871409/

相关文章:

python - 如何打印查询结果并将其保存在 pandas 数据框中

javascript - Google Apps HTTP Streaming with Python 问题

python - virtualenv 是如何工作的?

python - 使用python进行声音监控

python - 评估一个数据库命中中的整个 django 查询集

python - 频繁修改模型时的Django工作流程?

HttpResponseRedirect后未显示Django消息

asp.net-mvc - ASP.Net MVC 4 和 WebApi 的身份验证

node.js - NodeJS passport-ldapauth 总是返回 'Invalid Username/Password'

php - 如何完成此登录脚本?