【问题标题】:Win Form, Registration form获奖表格,登记表格
【发布时间】:2020-08-30 11:10:43
【问题描述】:

我想知道是否有人可以为以下问题指出一些在线资源的方向,我尝试搜索术语但没有得到任何点击。

我想知道如何创建一个 C# 表单应用程序,它将连接到数据库(SQL/Azure(也许)但我希望用户能够注册自己。因此该应用程序肯定需要某种“嵌入式”登录,以便用户能够注册。

我知道在 web 应用程序变体中,app.config 文件受到保护,非常适合保存连接字符串等,但我不知道表单类型应用程序有类似的东西。

我认为可行的方法...

1,创建一个功能有限的数据库帐户(这将是嵌入式登录名/用户),它只能访问“创建用户”过程。然后,一旦注册用户必须再次验证该应用程序才能有效工作。

2,在应用程序中嵌入单个用户帐户,始终作为应用程序和数据库之间的唯一连接,并创建一个用户表,用户也添加该表。然后在数据库和相关用户中设计一个权限系统。类似于 web.app 方法。

最后,如果链接或帮助没有涵盖它。是创建登录名/用户(可能会变得非常大)还是创建更少的登录名/用户并通过数据库中的表/权限系统对其进行管理会更好?

谢谢

【问题讨论】:

  • 您可以像 web.config 一样加密 app.config,详细信息 here。考虑一个服务层,而不是使用选项 #2 从 WinForm 应用程序直接连接到数据库。
  • 此应用程序将在公共 Windows 机器上运行,还是用户将使用自己的帐户登录到 Windows?还可以考虑使用 Asp.Net 内置功能进行注册,因为它已经涵盖了很多工作,然后只使用登录屏幕登录应用程序。考虑向应用添加不同的层,例如 UI - WebApi - Data。
  • 我设想一个应用程序(winform)连接到一个天蓝色(云)数据库。我知道这可能会在应用程序中暴露 Azure 端点,但我很好奇这是否被接受/完成以及如何去做,

标签: c# sql-server winforms authentication


【解决方案1】:

我个人会利用 asp.net 内置的注册过程。

设计具有多个层的应用程序。

  • UI (winForm) 仅带有登录表单的主应用程序。
  • UI (Web) 仅用于注册目的。
  • WebApi 用于访问数据等。
  • 用于访问您的数据、EF、Nhibernate、SQL 等的数据。

tutorial from Microsoft 展示了如何构建注册页面,包括注册和确认电子邮件流程、密码重置等。

然后在 WinForms 应用程序中您只需要一个登录屏幕,如 shown in this tutorial

这听起来可能需要更多的工作,但使用提供的网络功能确实会赢得很多,例如,如果您需要从网站下载 WinForms 应用程序,您可以在下载应用程序之前先让用户注册。

【讨论】:

  • 感谢您的建议。我的应用程序理论上可以构建在 asp.net 中,所以这将是公认的答案。我对那些不能/不想使用网络服务器并直接从客户端访问数据库的人更好奇。
猜你喜欢
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
  • 2023-03-29
  • 2011-09-18
  • 1970-01-01
相关资源
最近更新 更多