0

基本上我正在做的是构建一个桌面应用程序,它需要连接到 Web 服务器,执行一些计算,然后将结果值发送回它。计算会随着时间而变化,并且还需要保持一定的安全性,这就是为什么我不只是将它们编码到桌面应用程序中。

问题是应该只允许经过身份验证的用户访问服务器。所以我正在寻找的是一种从我的桌面应用程序登录到 Django 的方法(即桌面应用程序会弹出一个窗口询问用户名和密码,然后将其发送到 Django 站点,用于进行身份验证用户,如果有效,将返回计算结果。它还需要作为会话工作(用户在开始时输入密码,然后在关闭桌面应用程序之前不需要再次登录,即使执行了多次计算)。

我想我需要为此使用会话密钥,也许还有这里描述的 RemoteUserMiddleware但我真的不知道从哪里开始编码。任何正确方向的建议或指示将不胜感激。

谢谢,-莫拉格

PS 如果这很重要,桌面应用程序是用 VB.NET 编写的。

4

1 回答 1

1

有趣的。我从来没有做过这样的事情,但我认为这是基本思想:

1) 很好地了解 Django 会话;基本思想是:

  • 一、使用django auth框架登录服务登录
  • Django 将为您创建一个会话并处理所有困难的事情
  • Django 返回一个带有sessionidcookie 的 HttpResponse。您需要将其与以下任何请求一起发回,以表明您的身份并“在会话中操作”。
  • 使用 django auth logout 服务注销,会话被 Django 销毁。

2)现在,其余的相对容易。

  • 使用适当的 url 设置 django urls.py 用于登录/注销+ 计算服务
  • 使用适当的参数集执行对登录服务的发布请求
  • 捕捉响应,提取 'sessionid' cookie 并将其保存在某处
  • 在每个后续请求中,包括sessionid

这应该让你开始。祝你好运!

于 2012-10-05T21:14:26.380 回答