Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Аутентификация на сайте (membership provider)

11K
11 мая 2008 года
Sergei_
54 / / 20.02.2007
Всем доброго дня (ночи).
Такой вопрос.Используя membership provider пытаюсь пройти аутентификацию на своей страничке:
 
Код:
if (Membership.ValidateUser("admin", "admin"))
{.....}

Валидация не проходит.Вот кусок web.config:
Код:
<connectionStrings>
    <add name="default" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=[path]\base.mdf;Integrated Security=SSPI;"/>
  </connectionStrings>
..............
<authentication mode="Forms" />
   
    <membership defaultProvider="SqlMembershipProvider1">
      <providers>
        <clear/>
        <add name="SqlMembershipProvider1"
             minRequiredPasswordLength="3"
             minRequiredNonalphanumericCharacters="0"
             requiresQuestionAndAnswer="false"
             requiresUniqueEmail="false"
             enablePasswordReset="false"
             enablePasswordRetrieval="false"
             connectionStringName="default"
             type="System.Web.Security.SqlMembershipProvider" />
      </providers>
    </membership>

Пользователь с таким паролем естественно существует, почему не проходит аутентификация?
Заранее спасибо.
5
11 мая 2008 года
hardcase
4.5K / / 09.08.2005
Точно база сконфигурирована нужным образом?
Проверь утиллитой администрирования сайта.
11K
11 мая 2008 года
Sergei_
54 / / 20.02.2007
через administration tool все замечательно заходит, видит пользователей (собственно через неё и добавлял новых).В провайдерах указан соответственно мой провайдер.
5
11 мая 2008 года
hardcase
4.5K / / 09.08.2005
Ну кхм..... Что тут еще сказать....
Я бы удалил пользователя и создал его заново.
Еще бы неплохо указать у провайдера свойство passwordFormat значением Clear - в БД можно будет посмотреть чего с паролем произошло.
11K
11 мая 2008 года
Sergei_
54 / / 20.02.2007
Проблема решена, оказывается надо было поставить в administration tool в списке пользователей "active user".В связи с этим вопрос: на что это влияет(active\ не active).И еще один вопрос - где можно почитать про все параметры разделов <providers> в membership,roleManager и profileProvider?и вообще инфу по всем этим штуковинам, а то что-то полунаугад надоело :)
hardcase, сенк за passwordFormat, так действительно удобней :)
Заранее спасибо.
5
12 мая 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Sergei_
Проблема решена, оказывается надо было поставить в administration tool в списке пользователей "active user".

А ведь хотел спросить про этот флажок.

Цитата: Sergei_
В связи с этим вопрос: на что это влияет(active\ не active).

Active пользователи могут представляться системе. Это как отключение/включение аккаунта.

Цитата: Sergei_
И еще один вопрос - где можно почитать про все параметры разделов <providers> в membership,roleManager и profileProvider?

Взгляните на атрибут type в тегах <add /> списков провайдеров. Это имя класса, наследующего MembershipProvider (для аккаунтов) или RoleProvider (для ролей), попробуйте набрать его в MSDN. Вот члены SqlMembershipProvider.

Цитата: Sergei_
hardcase, сенк за passwordFormat, так действительно удобней :)


Clear имеет смысл ставить когда приложение отлаживается. На реальной системе из соображений безопасности рекомендуется использовать дриге форматы: Hashed - пароль хэширован и не поддается восстановлению, зато можно его сбрасывать, или Encrypted - пароль зашифрован симметричным методом шифрования, в БД просмотреть не получится, зато можно восстановить.

11K
12 мая 2008 года
Sergei_
54 / / 20.02.2007
Спасибо за ответы, буду разбираться дальше со всеми этими делами.
30K
14 мая 2008 года
DENIELER
19 / / 13.03.2008
Добрый день! Извините, у меня по этой теме вопрос к Вам уважаемые программеры. А вообще используется на практике технология работы с пользователями на основе Profile.* и <profile> </profile>?
5
14 мая 2008 года
hardcase
4.5K / / 09.08.2005
Некоторые пользовательские параметры там можно сохранять: сосотояние интерфейса, например скин сайта, а также простые данные - пол, дата рождения, город проживания.
30K
15 мая 2008 года
DENIELER
19 / / 13.03.2008
Т.е. там сохраняются только вспомогательная информация, а вот логин и пароль надо пихать в свою базу данных, так ?
5
15 мая 2008 года
hardcase
4.5K / / 09.08.2005
А зачем хранить логин и пароль самостоятельно?
Для этого уже существуют различные реализации механизма членства - MembershipProvider-ы c представлением пользователей в виде экземпляра MembershipUser.
30K
16 мая 2008 года
DENIELER
19 / / 13.03.2008
А не могли бы Вы кинуть пример какой-нить или ссылку на ресурс?Хотелось бы почитать что это такое?
5
17 мая 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: DENIELER
А не могли бы Вы кинуть пример какой-нить или ссылку на ресурс?Хотелось бы почитать что это такое?


http://www.bgshop.ru/description.aspx?product_no=9073741
Или похожие книги.

В них содержится исчерпывающая информация.

В кратце. MembershipProvider - это унифицированный интерфейс для работы с механизмами членства пользователей в .net. Изначально в .net можно работать с аутентификацией пользователей через Sql Server-ную базу (aspregsql.exe позволяет создать всю инфраструктуру в базе данных) пример конфигурации этого провайдера есть в MSDN по запросу SqlMembershipProvider, а также аутентификация возможна через ActiveDirectory (для веб-приложений, ориентированных на корпоративную среду организации).

30K
17 мая 2008 года
DENIELER
19 / / 13.03.2008
Спасибо за ответ! ) сейчас возьму и почитаю..
84K
05 июля 2012 года
aanntt0
1 / / 05.07.2012
Вот здесь общие сведения о Membership http://msdn.microsoft.com/ru-ru/library/879kf95c.aspx
А здесь - как работать с классом Membership в коде http://msdn.microsoft.com/ru-ru/library/dazakw52
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог