2011-05-16 37 views
2

我有一个PHP & MySQL的在线应用程序。我需要使用C#中构建的桌面应用程序提供一些功能。我的任务包括follwoing ..使用webservice与远程用户数据库登录

  1. 认证
  2. 数据库查询

请建议我继续进行这种情况下适当的方式。

我的一些疑惑..

  • 我应该使用Web服务在我的PHP结束了吗?
  • 如何验证?
  • 有什么安全问题?

回答

2

是的。您需要在PHP端创建一个web服务,该服务包含一个将执行查询的方法。然后,您可以将C#应用程序中的'Service Reference'添加到PHP服务中。

关于身份验证:这取决于您的方案。如果您是Web服务的唯一用户,则可以使用basic authentication(通过HTTPS)以确保您的凭据对嗅探器是安全的。

安全性问题在于你将不得不依赖于令牌,密钥或其他东西。而且由于这些存储在使用该软件的台式计算机上,所以有人可以窃取这些秘密(通过使用反编译器f.e.)。如果安全性非常重要,则需要依赖DigiPass等第三方解决方案。

+0

感谢您的明确答案。基本上应用程序是多用户,不会在系统上存储任何凭据。我们有一个用户管理系统,后端有一个mysql数据库。用户必须通过在启动应用程序时提供凭证来登录。 – BlueBird 2011-05-16 10:03:35

+1

如果每次程序启动时提示用户的登录名和密码,则不必存储任何内容。 – SJuan76 2011-05-16 10:35:12

1
  • Webservice:这是标准的工作方式。但是它有一些开销(XML和所有这些),所以如果你传输复杂的结构,你可能需要其他选项(例如通过HTTP连接传递自己的编码数据)。也许即使是混合系统,简单的请求都是通过简单的web服务,而更复杂的请求是通过HTTP,但不使用XML,或通过在web服务中以这种方式编写的结构传递。无论如何,尽量保持非标准解决方案的最低限度。
  • 取决于您的安全要求。 Webservices是HTTP,因此标准Web认证起作用。
  • 和以前一样,您有基本的解决方案,它取决于您的应用程序的功能。
+0

JSon会在两者之间工作吗? – BlueBird 2011-05-16 10:04:56

+0

这可能是一个例子。当然,您需要解释程序中的JSON数据(如果有可用的第三方库或通过您自己编写的代码)。 – SJuan76 2011-05-16 10:31:31

相关问题