Нужна помощь с процедурой входа в систему .Net (работает на локальном компьютере, а не на удаленном) - PullRequest
2 голосов
/ 03 марта 2009

У меня действительно глупая проблема, но прошла неделя, и я не могу двигаться вперед. У меня есть небольшое приложение, которое защищено аутентификацией. Все работает локально, вы можете войти в систему и т. Д. На удаленной машине вы не можете войти, она говорит, что ваш логин не распознан. Теперь я подумал, что это может быть соединение с БД и т. Д., Поэтому я создал небольшую тестовую страницу с таблицей asp_users, и, внося изменения в пользователей, я вижу, что локальные и удаленные пользователи видят одну и ту же таблицу через это соединение, почему не работает аутентификация пользователей за мной.

Для пояснения, это приложение asp.net, которое формирует аутентификацию, соединение с БД работает на основе созданной мной тестовой страницы, которая перечисляет таблицу asp_users.

Он не сообщает об ошибке, просто говорит «Ваша попытка входа не удалась. Пожалуйста, попробуйте еще раз.' Это должно быть что-то действительно простое, и я слишком расстроен, чтобы увидеть это, вот почему я прошу помощи. ПОМОГИТЕ ! :)

ОК, поэтому я попытался опубликовать часть файла web.config, но он просто не отображается. Это действительно базовая конфигурация со строками подключения и разделами членства и ролей (без профиля). Вопрос в том, как бы вы поступили, что бы вы проверили.

Заранее благодарим за любые конструктивные комментарии.

Желько

Ответы [ 4 ]

1 голос
/ 04 марта 2009

У нас была несколько похожая ситуация в том, что, хотя мы могли войти, сайт отказывался "Запомнить меня" при выборе. Все сводилось к тому, чтобы провайдеры членства и ролей указывали на одни и те же ресурсы. Да, это было "До!" момент для меня. :)

Вы пытаетесь использовать SQLExpress на удаленном сервере, или он указывает на полный экземпляр SQLServer? По моему опыту, большинство сред общего хостинга не настроены так, чтобы разрешать использование .MDF в папке App_Data ... Несмотря на это, зная, что это укажет вам правильное направление.

Вот несколько вещей, которые можно попробовать:

  1. Убедитесь, что ваш логин не заблокирован; это действительно может быть так просто, как это

  2. Убедитесь, что в папке, в которой находится страница входа в систему, отсутствует ограничение безопасности

  3. Проверьте соответствующие настройки провайдера в файле web.config и убедитесь, что

    • Все поставщики должны иметь одинаковое значение для атрибута «Приложение»

    • Все провайдеры должны использовать одну и ту же строку подключения и "провайдер" провайдера

      • Скорее всего, это будет означать использование SqlMembershipProvider и SqlRoleProvider
      • Если ваше приложение не является версией 3.5, возможно, вам придется добавить ссылку на System.Web.Security. Это пространство имен, которое вам действительно нужно
    • Если вы уверены, что ваш сайт может использовать SQLExpress, попробуйте это с AspNetMembershipProvider и AspNetRoleProvider

НТН!

0 голосов
/ 03 марта 2009

Непонятно, какой тип аутентификации вы используете, но если это аутентификация Windows, возможно, вы читаете своего зарегистрированного пользователя с локального компьютера, а пользователя на удаленном не существует.

Если вы правильно внедрили проверку подлинности с помощью форм, похоже, это может быть проблема с подключением к базе данных, и вы должны начать устранение неполадок там ..

  • Возможно, начните с попытки подключиться из sql management studio с удаленного компьютера к БД (используя информацию о соединении в вашем web.config)
0 голосов
/ 04 марта 2009

Каковы параметры безопасности каталога для IIS? Убедитесь, что настройки одинаковы для диалога «Анонимный доступ и контроль аутентификации». Недопустимая настройка - наиболее вероятная причина этой конкретной ошибки.

0 голосов
/ 03 марта 2009

У вас есть домен? Если вы этого не сделаете, вам придется войти в систему как пользователь системы, в которой работает ваше приложение asp.net.

Если у вас есть домен, попробуйте войти как

Имя_Домена \ UserName

Просто выбросить его туда.

...