Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нестандартная регистрация 
:(
    Опции темы
wotker
Дата 22.9.2008, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Добрый день!
Хочу сделать такую штуку:
Есть окно с регистрацией (в ней находится стандартный визард). Человек вводит свои логин пароль +  данные профайла. т.е. зарегистрироваться невозможно, не введя все эти данные. 
Когда пользователь отправляет данные на сервер, он регистрируется, НО: профайл остается тем же самым (как будто  пользователь аноним). Это правильно так как эта проверка произоедет при следующем запросе. Но данные профайла нужно сохранить сейчас. 
Я поступил так: сделал все поля профайла доступными для анонима, сохранил все отправленные данные в профайл анонима + обработал событие MigrateAnonimys. Все работает. 
Есть ли другие варианты решения (с учетом масштабирования!)? На сколько плох мой вариант (Все таки лишняя память тратится на анонимного пользователя)?

и еще вопрос: если я хочу написать свой контрол для регистрации, поидее должны быть такие строчки (после всех проверок)
Код

MemberShip.CreateUser(name, pass);
MemberShip.Validate(name, pass);

первая строчка возвращает объект, т.е. человек сохраняется в базе.
Но 2-я строчка выдает false. Почему? (хочу добавить, что имя и пароль допустимы, так как при перезагрузке контрол Login пропускает без разговоров). 
Спасибо!
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
Idsa
Дата 22.9.2008, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Цитата(wotker @  22.9.2008,  20:46 Найти цитируемый пост)
MemberShip.CreateUser(name, pass);
MemberShip.Validate(name, pass);

Validate? Может быть, ValidateUser?
Думаю, все-таки порядок вызова методов должен быть другой: сначала ValidateUser, а потом CreateUser. Иначе зачем делать валидацию, если юзера мы уже создали.

Цитата(wotker @  22.9.2008,  20:46 Найти цитируемый пост)
Но 2-я строчка выдает false. Почему? (хочу добавить, что имя и пароль допустимы, так как при перезагрузке контрол Login пропускает без разговоров). 

Точно не помню, но могу предположить, что Login-контрол не делает валидацию: он просто ищет соответствие введенным данным в базе.
Насчет допустимости логина и пароля... Думаю, если ValidateUser не срабатывает, то все-таки логин или пароль неправильные. Первая причина, которая приходит на ум, - недостаточно длинный пароль (при стандартных настройка минимальная длина пароля по-моему равна 8 символов). Приведите Ваши настройка Membership из Web.Config'а и вводимый логин с паролем.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
wotker
Дата 23.9.2008, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Цитата

Validate? Может быть, ValidateUser?
Думаю, все-таки порядок вызова методов должен быть другой: сначала ValidateUser, а потом CreateUser. Иначе зачем делать валидацию, если юзера мы уже создали.

Может быть - я по памяти писал( 
Почему другой? сначала мы создаем человека. А потом уже пускаем на сайт.
ValidateUser - возвращаяет результат аутентификации. Какой смысл валидитации человека, которого нет в базе.

Цитата

Точно не помню, но могу предположить, что Login-контрол не делает валидацию: он просто ищет соответствие введенным данным в базе.
Насчет допустимости логина и пароля... Думаю, если ValidateUser не срабатывает, то все-таки логин или пароль неправильные. Первая причина, которая приходит на ум, - недостаточно длинный пароль (при стандартных настройка минимальная длина пароля по-моему равна 8 символов). Приведите Ваши настройка Membership из Web.Config'а и вводимый логин с паролем.

Пароль я ввел корректный. Он не противоречит конфигам. 

Цитата

    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider"
             type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
             connectionStringName="LocalSqlServer"
             enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="false"             
             applicationName="/"
             requiresUniqueEmail="false"             
             passwordFormat="Hashed"
             maxInvalidPasswordAttempts="5"
             minRequiredPasswordLength="5"   
             minRequiredNonalphanumericCharacters="0"
             passwordAttemptWindow="10"
             passwordStrengthRegularExpression=""/>
      </providers>
    </membership>


на входе допустим: "wotker", "6-буквенный пароль".
Не понимаю - как Logn может не учитывать конфиги для проверки входных данных...


Это сообщение отредактировал(а) wotker - 23.9.2008, 07:03
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
wotker
Дата 23.9.2008, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 18.7.2006
Где: Ростов-на-Дону

Репутация: 1
Всего: 5



Хочу добавить, что тот же самый логин и пароль прекрасно "съедаются" CreateUserWizard'ом.  Он тоже конфиги игнорирует?
Просто я ввел некорректное имя "df   df" (несколько пробелов), он зарегистрировал.
--------------------
ICQ ::            347306684e-mail ::         wotker[at]rambler[dot]ru 
PM MAIL ICQ   Вверх
Idsa
Дата 23.9.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2086
Регистрация: 5.12.2006
Где: Томск

Репутация: 15
Всего: 62



Попытка №2.
Возможно, для пользователя IsLockedOut равен true или IsApproved равен false.

Это сообщение отредактировал(а) Idsa - 23.9.2008, 14:52


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.