Создание нового пользователя в Winforms с использованием поставщика членства HDI - PullRequest
1 голос
/ 01 января 2012

У меня есть веб-сайт с формами входа и регистрации с использованием пользовательского поставщика членства HDI, где пользователи могут войти или зарегистрировать новую учетную запись.

Теперь у меня есть программное обеспечение для настольного компьютера, и я пытаюсь получить две формы для входа и регистрации, где мойпользователи могут войти или зарегистрироваться для удобства пользователей, но не заходя на веб-сайт и заставляя их регистрироваться онлайн.

Итак, я должен знать это, чтобы идти дальше.

1)Могу ли я использовать поставщика членства HDI, как я использовал его в своем веб-приложении?Если да, то как я могу это сделать?

Как и раньше, я столкнулся со многими проблемами и до сих пор не получил разъяснения здесь

2) Если нет, то какиспользовать для того же членства HDI.

Наконец, мне нужно использовать одну и ту же базу данных для моего настольного программного обеспечения, а также для веб-приложения со всеми возможностями (т.е. мне нужно проверить каждый параметрмоего класса членства).

Я могу зарегистрировать пользователя, но он не использует членство, и я не могу знать, почему он не выбирает поставщика членства из файла app.config.

Еще раз предоставляю свою базу данных пользователей Структура:

enter image description here

1 Ответ

2 голосов
/ 01 января 2012

Вы можете довольно просто использовать стандартный членский член в приложении Windows Forms.

Однако, без более подробной информации об источнике поставщика членства в ИЧР, будет трудно предоставить точные инструкции.

Вы можете попробовать следующие инструкции, чтобы увидеть, будут ли они работать для вас:

1) Добавьте ссылку на System.Web в ваше приложение windows form.

2) Добавьте Imports System.Web.Security к файлам кодов, где вы хотите использовать провайдера.

3) Вызвать методы Membership, как вы делаете в Интернете, т.е. Memebership.ValidateUser(user, password).

4) Добавьте блок system.web в файл app.config Windows Forms (в разделе 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 точно так, как показано выше, ваше приложение будет работать (я проверил его и убедился, что создание пользователя и вход в систему работает).

...