2011-08-18 11 views
5

似乎安全模型适用于非常小的项目,但在security.py中编写所有可能的注册用户散列密码可能不太可行。您是否知道扩大金字塔认证的任何示例,或者通过金字塔的安全方案调用我自己的安全信息数据库是否有任何好处?金字塔内置的认证/授权可以实现复杂的安全方​​案吗?

+0

谁主张在security.py中存储密码? –

+0

https://docs.pylonsproject.org/projects/pyramid/1.1/tutorials/wiki2/authorization.html在security.py – nnythm

+0

中有一个{key,raw_password}字典的非常简单的演示,我很明白你的观点。但是对于熟悉python的人来说,想象一下groupfinder查询数据库还是别的什么呢? –

回答

4

不知道你的需求是什么或者你的意思是“扩大安全性”,但金字塔身份验证策略非常灵活。您需要了解它不保留用户和密码,但它仅仅提供了一种从传入请求获取用户标识符的机制。例如,AuthTktAuthenticationPolicy通过使用记住方法设置的cookie来跟踪用户标识。

您从该用户标识导出的有意义的信息完全取决于您,并且是特定于应用程序的。

所以真的你可能想问的问题是你的应用程序可以“扩大安全性”。

我无法向您展示代码,因为它是专有的,但我需要在同一个应用程序中支持openid,http auth和典型的数据库支持的用户存储,并且用户存储在不同数据库碎片中的额外复杂功能并且碎片不能立即确定。它需要很少的代码来支持这一点。

8

我不认为项目的大小与安全模型有关。要么你想要一个简单的或复杂的安全模型。两者都可以应用于任何规模的项目。金字塔的一个优点是其可扩展性。

为什么要存储散列密码security.py? (cmiiw在这里,我可能误解了)如果你阅读某人的代码,这可能只是一个例子。在真实应用程序中,您可以将它们保存在您选择的存储/持久性系统中。

同样,我不明白“扩大认证”的含义。我的猜测是,你需要一些工作的例子:

3

我最终为自己构建了一些东西,如果你碰巧使用MongoDB,认证会更容易一些。

https://github.com/mosesn/mongauth

它没有内置金字塔,但钩子很轻松了。一切都非常透明。

+0

哇!漂亮的脚本你到了那里..简单但功能。! – Augiwan