0

我正在 django 中为客户的网站构建一个工具。

我正在构建的工具要求用户登录到现有帐户。

用户身份验证由其他供应商服务器上的旧版软件处理。

我可以联系编写遗留软件的程序员(我不确定他们的开发环境),但我不确定要问什么——我想要什么钩子、api、rpc 等?

这种情况有设计模式吗?我应该使用或扩展 django 的哪些功能以使其尽可能简单? REMOTE_USER 听起来是正确的,但我不确定在这种情况下我将如何使用它。

4

2 回答 2

0

我建议使用 jquery 请求。您可以将用户名和密码(当然是加密的)发送到远程站点并取回 cookie/会话密钥。

如果您有权访问数据库,我也建议您这样做。例如,如果远程主机使用 MySQL,请要求为您的用户创建一个视图,然后您可以直接进行身份验证。但是,使用这种方法,您可能必须在settings.py.

于 2013-09-04T20:07:38.360 回答
0

两种方法:

1)API:如果他们已经发布了他们的API,那就更简单了,你使用他们的API对用户进行身份验证。

2) 公开数据库:如果他们没有 API,他们应该授予他们对他们数据库的访问权限,以便您可以进入并进行身份验证。但是在这样做时要记住几件事:Djangoauthenticate()不会工作,因为默认情况下,authenticate 方法会再次验证auth_user表。您当然可以使用自己的逻辑手动进行身份验证,但这也会有问题:您必须创建自己的会话和内容。所以你的选择是在 Django 中使用custom user models(仅适用于 Django 1.5)。

我相信其他人可能有比这更好的解决方案。

于 2013-09-05T04:52:01.217 回答