【问题标题】:ASP.NET MVC - Integration with Windows FormsASP.NET MVC - 与 Windows 窗体集成
【发布时间】:2012-10-30 08:23:48
【问题描述】:

我使用 NHibernate 在 ASP.NET MVC 4 中开发了一个网站,现在我需要使用 Windows 窗体执行与该网站的集成。

如何使用相同的用户执行身份验证系统? 我应该使用什么技术? Web API、SOAP 还是 Rest?

谢谢!

【问题讨论】:

  • “Windows 窗体”是什么意思?此名称是指由 .NET 创建的 Windows 应用程序...您是否想说您需要在 Intranet 域的 Active Directory 中进行身份验证?如果是... Web 服务器是否与 Active Directory 位于同一域中,还是位于该网络之外?
  • balexandre,我的意思是 Windows 窗体应用程序。谢谢!
  • balexandre,我需要消耗存储在我网站中的用户。
  • 好的...那么为什么不在新的 Windows 窗体应用程序中使用相同的数据库层和方法呢?如果您遵循 3 层架构原则,那么只需开发 Windows 窗体并仍然使用网站中的所有内容是很容易的。我每次都这样做。看我的回答:stackoverflow.com/a/7510526/28004
  • 出于安全原因,我不想直接访问数据库,所以我会有一个额外的安全层。

标签: asp.net-mvc winforms asp.net-web-api


【解决方案1】:

术语的小解释:REST 是一种架构风格,SOAP 是一种用于交换信息的协议,而 Web API 是一种构建 HTTP 服务的框架。

此类问题的常见答案是“视情况而定”

在您继续选择技术之前,目前您的用户身份验证方法是否与您的业务/演示逻辑正确分离?

如果是这种情况,由于您使用的是 MVC 4,Web API 可能是阻力最小的路径,您可以将所有需要身份验证的功能放在 Web API 调用之后。你的控制器会打电话给他们。完成后,Windows 窗体应用程序可以以类似的方式使用数据。

【讨论】:

  • Tcshao,我的认证方法是分开的。使用 Web API 性能会好吗?它安全吗?我可以从 Windows 窗体进行 HTTP Post 吗?谢谢!
  • 在任何软件上添加另一层会使其执行速度变慢,但它的显着程度实际上取决于您的系统。测试确实是唯一确定的方法。安全部分超出了问题的范围。它可能是安全的,但它需要一些额外的步骤。无论您选择何种技术,您都必须处理这些问题。
  • tcshao,直接在数据库中连接比较好?
  • 我不太清楚你在问什么。关于如何分离您的应用程序的逻辑,我建议您参考 balexandre 对您的问题的评论中的链接。理想情况下,您希望您的数据库、身份验证和演示文稿不相互依赖,因此任何有助于您实现该目标的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-06
  • 2013-07-28
相关资源
最近更新 更多