Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Мыло вместо логина / 17 сообщений из 17, страница 1 из 1
22.02.2010, 11:15:04
    #36482670
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
Добрый день

Хотелось бы узнать как можно использовать почту вместо логина, так как логин многие забывают, да и занять желаемый логин обычно тяжело и мы начинаем придумывать что то типа artemdude37.

как входить используя почту впринцыпи ясно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        if (Login1.UserName.Contains("@")) //Email Login
        {
            string username = Membership.GetUserNameByEmail(Login1.UserName );
            if (username != null)
            {
                if (Membership.ValidateUser(username, Login1.Password))
                {
                    Login1.UserName = username;
                    e.Authenticated = true;
                }
                else e.Authenticated = false;
            }
        }
        else  //Standard Username & Password Login
        {
                if(Membership.ValidateUser(Login1.UserName, Login1.Password)) e.Authenticated = true;
                else e.Authenticated = false;
        }
    }

а вот как сделать чтобы при регистрации мы вводили только:
почту
пароль
повторить пароль
...
Рейтинг: 0 / 0
22.02.2010, 11:19:54
    #36482678
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
artemdude,

Ну, неплохо бы почтовый адрес на корректность регулярным выражением проверить. Регулярное выражение для почтового адреса смотреть здесь .
...
Рейтинг: 0 / 0
22.02.2010, 11:24:56
    #36482693
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
ShSergeartemdude,

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

может быть и так я этот код еще не проверял.
Мне не ясно как пользователь будет регистрироваться, ведь при регистрации нужно ввести какой то логин, а мне нужно чтобы при регистрации этого поля вообще не было. Да и эли секретные вопросы и ответы тоже уже давно не актуальны.
...
Рейтинг: 0 / 0
22.02.2010, 11:28:40
    #36482701
гуня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
форма регистрации кастомизируется, можно свою сделать-без поля логина, вернее логин будет емейлом
а при создании юзера присваивать ему логин=емейл, да будет 2 повторяющихся поля, но зато как вы хотите
...
Рейтинг: 0 / 0
22.02.2010, 11:29:05
    #36482703
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
в этой статье http://www.aspcode.net/CreateUserWizard-using-email-as-username.aspx, насколько я понял предлагают использовать такое же имя как и почта. Но что если мы решим поменять почту на другую.
...
Рейтинг: 0 / 0
22.02.2010, 11:37:40
    #36482720
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
гуняформа регистрации кастомизируется, можно свою сделать-без поля логина, вернее логин будет емейлом
а при создании юзера присваивать ему логин=емейл, да будет 2 повторяющихся поля, но зато как вы хотите

а что тогда насчет секретного вопроса и ответа?
...
Рейтинг: 0 / 0
22.02.2010, 11:40:50
    #36482723
гуня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
artemdude,

это тоже настраивается, можно убрать и не будет использоваться
...
Рейтинг: 0 / 0
22.02.2010, 11:48:01
    #36482729
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
тогда мне кажется что лучше всего оставить поле логина, а при авторизации проверять регульярным выражением: если юзер ввел логин то заходить под логином, а если почту до доставать логин и тоже заходить под ним.

просто я думал что есть какой то уже встроеный в асп метод для замены логина почтой.
...
Рейтинг: 0 / 0
22.02.2010, 15:44:14
    #36483093
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
protected void Button1_Click(object sender, EventArgs e)
    {
     
        MembershipUser newuser = Membership.CreateUser(TBlogin.Text, TBpass.Text, TBmail.Text);

        MembershipCreateStatus createStatus = MembershipCreateStatus.Success;
      }

если ввожу все правильно то юзер создаться. А если ввожу что то не правльно, напрмер юзера который уже есть в базе, то выскакивает ошибка. Хотелось бы вылавливать эту ошибку и отображать через лейбл.

В видеоуроках это было реализовано так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
protected void BTNCreateUser_Click(object sender, EventArgs e)
    {
        MembershipCreateStatus createStatus;
        MembershipUser newUser = Membership.CreateUser(TBUserName.Text, TBPassword.Text, TBUserEmail.Text, "What is your favorite color?", TBColor.Text, true, out createStatus);

        switch (createStatus)
        {
            case MembershipCreateStatus.Success:
                LabelCreateAccountResults.Text = "The user account was successfully created!";
                break;
            case MembershipCreateStatus.DuplicateUserName:
                LabelCreateAccountResults.Text = "That username already exists.";
                break;
            case MembershipCreateStatus.DuplicateEmail:
                LabelCreateAccountResults.Text = "A user with that Email address already exists.";
                break;
            case MembershipCreateStatus.InvalidEmail:
                LabelCreateAccountResults.Text = "PLease enter a VALID email address.";
                break;
            case MembershipCreateStatus.InvalidAnswer:
                LabelCreateAccountResults.Text = "The security answer is not valid";
                break;
            case MembershipCreateStatus.InvalidPassword:
                LabelCreateAccountResults.Text = "The password entered is invalid. PLease enter a passoword with at least 7 cahacters and one non-alphanumeric.";
                break;
            default:
                LabelCreateAccountResults.Text = "Unknown Error: Account NOT created.";
                break;

        } 

    }

Каким еще образом можно вылавливать эти ошибки??
...
Рейтинг: 0 / 0
22.02.2010, 17:06:45
    #36483207
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
сделал. Вместо вопроса и ответа отправил null. Вроде работает ))
MembershipUser newuser = Membership.CreateUser(TBlogin.Text, TBpass.Text, TBmail.Text, null, null, true, out createStatus);
...
Рейтинг: 0 / 0
22.02.2010, 17:46:59
    #36483282
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
artemdude,

мысли вслух: интересно, вы все ошибки на форум выкладываете, или что-то как домашнюю работу все же делаете? ;)
пс. без обид :)
...
Рейтинг: 0 / 0
22.02.2010, 18:55:18
    #36483405
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
artemdude общается сам собой

P.S. Я Вам, artemdude, уже говорил по поводу Вашего ламерского поведения...
...
Рейтинг: 0 / 0
22.02.2010, 19:48:18
    #36483513
artemdude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
МСУartemdude общается сам собой

P.S. Я Вам, artemdude, уже говорил по поводу Вашего ламерского поведения...


да не общаюсь сам с собой, а если проблему решил то почему бы не написать, может еще кому пригодиться.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.02.2012, 18:25:17
    #37674916
AHTOH_L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
Возник такой же вапрос как у ТС - можно ли как то настроить MemberShipProvider, чтобы вместо логина использовать Email?
...
Рейтинг: 0 / 0
22.02.2012, 22:35:52
    #37675148
OracleLover
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
AHTOH_LВозник такой же вапрос как у ТС - можно ли как то настроить MemberShipProvider, чтобы вместо логина использовать Email?

Самый правильный вариант - написать свой MembershipProvider. Наследника от SqlMembershipProvider. Это не так сложно как кажется.
...
Рейтинг: 0 / 0
22.02.2012, 23:44:31
    #37675206
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
AHTOH_LВозник такой же вапрос как у ТС - можно ли как то настроить MemberShipProvider, чтобы вместо логина использовать Email?
Проапдейтить логины?
...
Рейтинг: 0 / 0
23.02.2012, 03:08:56
    #37675282
AHTOH_L
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Мыло вместо логина
Ну вот наверное придется немного руками контролы поправить стандартные что бы email как логин был, а хотелось бы в web.config какой нибудь параметр прописать и чтобы всё само стало работать :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Мыло вместо логина / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]