Проблема создания пользователей программно в ASP.net - PullRequest
0 голосов
/ 14 октября 2010

Для справки вот как выглядит мой web.config и код:

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="MySqlConnection"
          applicationName="/"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="false"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
      </providers>
 </membership>

VB-код, стоящий за фактом:

Public Function Register(ByVal EncryptedName As String, ByVal EncryptedEmail As String) As String

Dim ret As String = ""

Try

            Dim Provider As MembershipProvider = Membership.Providers.Item("SqlProvider")
            Dim createStatus As MembershipCreateStatus
            Dim newUser As MembershipUser = Provider.CreateUser(EncryptedName, Membership.GeneratePassword(8, 1), EncryptedEmail, "Your favorite color?", "RED", True, Guid.NewGuid, createStatus)
            Select Case createStatus
                Case MembershipCreateStatus.Success
                    ret = "The user account was successfully created!"
                Case MembershipCreateStatus.DuplicateUserName
                    ret = "There already exists a user with this username."
                Case MembershipCreateStatus.DuplicateEmail
                    ret = "There already exists a user with this email address."
                Case MembershipCreateStatus.InvalidEmail
                    ret = "The email address provided is invalid."
                Case MembershipCreateStatus.InvalidAnswer
                    ret = "The security answer is invalid."
                Case MembershipCreateStatus.InvalidPassword
                    ret = "The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character."
                Case Else
                    ret = "There was an unknown error; the user account was NOT created."
            End Select
        Catch ex As Exception
            Return "Server Error."
        End Try

        Return ret
    End Function

Для справки, это веб-служба, которую мыВы используете, чтобы позволить пользователям зарегистрироваться с нашего сайта и с настольного программного обеспечения.Я не знаю, является ли эта проблема программным обеспечением для настольных компьютеров.Прямо сейчас я получаю исключение при создании новой пользовательской линии.Исключение гласит: «Ошибка входа в систему для домена DOMAIN / пользователя», где DOMAIN - это мой рабочий домен, а пользователь - мой рабочий логин для моего ПК.

Я осмотрелся и обнаружил, что должен явно указать, какой провайдериспользовать (провайдер проверяет нормально).Я нашел много примеров, когда люди просто использовали Membership.CreateUser, но я обнаружил, что он не загружает правильный логин.

Я также попытался поиграть с тегом аутентификации в web.config.

Простая идея состоит в том, чтобы программно регистрировать новых пользователей через веб-сервис, чтобы его можно было использовать с веб-сайтом и несколькими домашними приложениями для настольных компьютеров.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 14 октября 2010

Поставщик членства настроен со ссылкой на строку подключения.Вы подтвердили, что это допустимая строка подключения?Похоже, вы используете по умолчанию, который будет пытаться подключиться с интегрированной аутентификацией.Кроме того, пользователь, являющийся вашим логином для вашего ПК, сообщает мне, что вы запускаете программу отладки или у пула приложений IIS явно установлена ​​идентификация.

Это, вероятно, не решит вашу проблему, но я хотел предложитьчто я мог, так как у меня было подобное разочарование в прошлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...