【问题标题】:Create New User in Winforms Using HDI Membership Provider使用 HDI 成员资格提供程序在 Winforms 中创建新用户
【发布时间】:2012-01-31 10:00:48
【问题描述】:

我有一个网站,其中包含使用自定义 HDI 会员资格提供程序的登录和注册表格,用户可以在其中登录或注册新帐户。

现在我有一个桌面软件,并尝试使用两种登录和注册表单,我的用户可以登录或注册以方便用户,而不是通过访问网站让他们在线注册。

所以,为了更进一步,我需要了解这些。

1) 我可以像在我的 Web 应用程序中那样使用 HDI 会员提供程序吗? 如果是这样,我该怎么做?

和以前一样,我遇到了很多问题,但仍然没有得到澄清here

2) 如果否,我该如何使用才能使用相同的 HDI 会员资格。

最后,我需要为我的桌面软件和我的 Web 应用程序使用相同的数据库,并提供所有可能性(即我需要验证我的成员资格类的每个参数)。

我可以注册用户,但它没有使用会员资格,我无法知道为什么它没有从 app.config 文件中获取会员资格提供程序。

我再次提供我的用户数据库结构:

【问题讨论】:

  • 您能否提供有关您从何处获得此会员资格提供商(从网站或自制)以及它是否基于标准 MS 会员资格提供商结构的信息?
  • 这是来自 microsoft Asp.Net 我如何做视频?这里是链接asp.net/web-forms/videos/how-do-i/…
  • 好的,这是个好消息。您应该可以使用我的回答中的步骤来解决您的问题。

标签: .net vb.net winforms custom-membershipprovider


【解决方案1】:

您可以相当轻松地在 Windows 窗体应用程序中使用 标准 成员资格提供程序。

但是,如果没有关于 HDI 会员提供者来源的更多详细信息,将很难提供准确的说明。

您可以尝试以下说明,看看它们是否适合您:

1) 向您的 Windows 窗体应用程序添加对 System.Web 的引用。

2) 将Imports System.Web.Security 添加到要使用提供程序的代码文件中。

3) 像在 Web 中一样调用 Membership 方法,即 Memebership.ValidateUser(user, password)

4) 将 system.web 块添加到您的 Windows 窗体 app.config 文件(在 configuration 部分内),然后将 membership 块从您的 web.config 文件复制到此块。例如:

<configuration>
  <system.web>
    <membership defaultProvider="HDIMembershipProvider">
      <providers>
        <clear/>
        <add name="HDIMembershipProvider" type="frmStartup.HDIMembershipProvider, frmStartup"/>
      </providers>
    </membership>
  </system.web>
</configuration>

5) 您可能需要添加对包含 HDI 成员资格提供程序的程序集、项目或代码的引用。

更新

你的 app.config 有两个问题:

1) appSettings 部分必须完全如下(您当前的 appSettings 使用“Application Name”作为键,而您的代码使用“ApplicationName”):

<appSettings>
  <add key="ApplicationName" value="/gAnnotation" />
</appSettings>

2) 成员资格部分必须完全如下(类型必须指定完全限定的类型名称,后跟该类型所在的程序集的名称,并且 defaultProvider 必须与添加的提供程序中的名称匹配):

<membership defaultProvider="HDIMembershipProvider">
  <providers>
    <clear/>
    <add name="HDIMembershipProvider" type="frmStartup.HDIMembershipProvider, frmStartup"/>
  </providers>
</membership>

如果您完全按照上面所示修改您的 app.config,您的应用程序将可以工作(我已经对其进行了测试并验证了创建用户和登录工作)。

【讨论】:

  • @Competent_tech-我同意你的观点,因为这是一个完美的答案,我已经做了和你上面所说的一样的事情,参考我之前的问题stackoverflow.com/questions/8692694/…我可以注册,一切顺利好吧,但它没有从 app.config 中获取成员资格提供程序,因为我有一个应用程序名称,该名称在数据库结构中设置为非空,但没有提供它虽然我在应用程序中提到了应用程序名称,但它不接受任何新用户创建。配置文件。
  • 和我之前的问题一样,我回答了我自己的问题如果你可以检查一下,很容易理解我的意思。
  • 我为您之前的问题提供了一个新答案,该答案显示了如何从 app.config 设置和检索应用程序名称。您可以编辑您的问题以包含您的完整 app.config 吗?我怀疑那里可能存在一些问题。
  • 我正在尝试编辑并检查代码是否工作正常,并将发布我的代码。
  • 我已经更新了我的 app.config 文件,你可以看到它仍然无法正常工作。
猜你喜欢
  • 1970-01-01
  • 2014-04-10
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
  • 1970-01-01
  • 2013-11-04
  • 1970-01-01
相关资源
最近更新 更多