小编neu*_*nus的帖子

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

我正在为一个封闭的用户组编写webaplication.它仅适用于https.服务器应检查是否允许用户通过检查用户ssl证书来访问服务器.我希望只有一个白名单(在userprofile中具有用户证书的ex字段),而不是由我的CA签署他们的密钥.由于没有用户/通行证,内容将取决于客户提供的证书.

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

还有其他好办法吗?也许我应该让django采取ssl的事情?

python authentication django ssl

8
推荐指数
1
解决办法
7766
查看次数

使用请求和多处理时出现奇怪的问题

请检查此python代码:

#!/usr/bin/env python
import requests
import multiprocessing
from time import sleep, time
from requests import async

def do_req():
    r = requests.get("http://w3c.org/")

def do_sth():    
    while True:
        sleep(10)

if __name__ == '__main__':        
    do_req()
    multiprocessing.Process( target=do_sth, args=() ).start()
Run Code Online (Sandbox Code Playgroud)

当我按Ctrl-C(运行后等待2秒 - 让Process运行)时,它不会停止.当我将导入订单更改为:

from requests import async
from time import sleep, time
Run Code Online (Sandbox Code Playgroud)

它在Ctrl-C之后停止.为什么它不会在第一个例子中停止/杀死?

这是一个错误还是一个功能?

笔记:

  • 是的我知道,我在这段代码中没有使用异步,这只是剥离代码.在实际代码中我使用它.我这样做是为了简化我的问题.
  • 按Ctrl-C后,会运行一个新的(子)进程.为什么?
  • multiprocessing.__version__ == 0.70a1,requests.__version__ == 0.11.2,gevent.__version__ == 0.13.7

python linux kill multiprocessing python-requests

4
推荐指数
1
解决办法
1142
查看次数