Pyramid应用中的基本/摘要HTTP身份验证

2 投票
1 回答
1116 浏览
提问于 2025-04-17 04:23

我有一个非常简单的Pyramid应用(这是我做的第一个应用),我想用基本的HTTP认证(就是那种常见的登录弹窗)来“锁定”几个视图函数。这个应用只会由一个用户来管理,所以我只需要非常基础的安全措施。

我读过关于Pyramid认证策略、AuthKit、repoze.who等的理论,但还是希望有人能给我一个简单的例子或想法,来实现一个非常非常基础的安全,就是为了把几个视图函数保护起来,不让外人访问。

注意:如果有人通过Nginx为wsgi应用做基本认证,并且你使用了Cookbook配置来运行你的应用,可能会遇到一个问题,就是在成功认证后,Nginx会把你引导到404页面。解决这个问题的方法就是把你限制的location指向同一个上游服务器:

location /restricted {
        proxy_pass              http://myapp-site;
        auth_basic              "Restricted";
        auth_basic_user_file    htpasswd;
    }

1 个回答

1

如果你只有一个“/admin”部分,并且只有一个管理员,你可以把nginx配置成一个反向代理,同时加上身份验证

我用这个方法来“保护”一些演示网站的公共部分,以便在向全世界开放之前,先限制访问。

这样做的好处是,你可以用同样的方法来服务Django或Pylons应用,而且这个方法既简单又可靠。

撰写回答