powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Identity
19 сообщений из 19, страница 1 из 1
ASP.NET Identity
    #38875326
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. пытаюсь разобраться в данной системе. на сколько я понял атрибут "Email" является обязательным? подскажите как переделать что бы для регистрации/авторизации можно было использовать другой атрибут например "0123" и что бы "Email" был не обязательным полем, приложение будет использоваться в локальной сети. заранее спасибо
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38875426
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
некоректно написал под атрибутом "0123" подразумевается что то типа public string Login. т.е. хочу что бы авторизация и регистрация была по логину а email не был обязательным полем
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38875883
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что никто не может подсказать в какую сторону капнуть, или идея не жизнеспособна и все поэтому молчат?!
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38875917
Irbis2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bald56rus,
В валидаторе пользователя нужно установить RequireUniqueEmail = false
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
 public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 
        {
            var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
            // Настройка логики проверки имен пользователей
            manager.UserValidator = new UserValidator<ApplicationUser>(manager)
            {
                AllowOnlyAlphanumericUserNames = false,
                RequireUniqueEmail = false
            };
...


Добавить в LoginViewModel и RegisterViewModel свойства Name и убрать свойство Email.
Отредактировать методы действия и представления регистрации и входа.
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38875927
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Irbis2014bald56rus,
В валидаторе пользователя нужно установить RequireUniqueEmail = false
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
 public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 
        {
            var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
            // Настройка логики проверки имен пользователей
            manager.UserValidator = new UserValidator<ApplicationUser>(manager)
            {
                AllowOnlyAlphanumericUserNames = false,
                RequireUniqueEmail = false
            };
...


Добавить в LoginViewModel и RegisterViewModel свойства Name и убрать свойство Email.
Отредактировать методы действия и представления регистрации и входа.

лучше так не делать !!! , зачем в базе не уникальные емайлы ????

Меняйте RegisterViewModel если не нужно емайл


[Required]
[EmailAddress]
[Display(Name = "Електронна пошта")]
public string Email { get; set; }

ну и базу гляньте , что там на Email , тгдд, допустим или нет
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38875928
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТГДД == NULL
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38875939
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
if (ModelState.IsValid)
            {
                var user = new ApplicationUser { UserName = model.Login, Email = model.Email };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>");
                    ViewBag.Link = callbackUrl;
                    return View("DisplayEmail");
                }
                AddErrors(result);



меняю модель: добавляю логин поле, result.Succeeded возвращает false: Email не может быть пустым.
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38876517
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отключил проверку на уникальность "Email" в валидаторе, Irbis2014 спасибо.проверку на уникальность "Email" думаю можно будет сделать через библиотеку JQuery.validate.js всем спасибо
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38877412
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusОтключил проверку на уникальность "Email" в валидаторе, Irbis2014 спасибо.проверку на уникальность "Email" думаю можно будет сделать через библиотеку JQuery.validate.js всем спасибо

Отключите также проверку на уникальность логина !
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38877554
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey1306bald56rusОтключил проверку на уникальность "Email" в валидаторе, Irbis2014 спасибо.проверку на уникальность "Email" думаю можно будет сделать через библиотеку JQuery.validate.js всем спасибо

Отключите также проверку на уникальность логина !
напрасно Вы так, в базе поле "Email" является полем необязательным для заполнения, проблема была в "RequireUniqueEmail" при значении в "true" нельзя было поле "Email" оставить пустым, даже при редактировании модели как Вы указали постом выше. я понимаю что невалидный "Email" не есть хорошо, но при регистрации пользователя можно сделать валидацию данного поля средствами JQuery.validate.js(т.е. проверять наличие указанного email в базе). всем спасибо
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38877571
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rus что бы "Email" был не обязательным полем, приложение будет использоваться в локальной сети. заранее спасибо

Откуда вообще берутся такие желания?

А забудет пользователь пароль, какие действия? Дергать админа за штанину?
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38877589
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Monochromatiquebald56rus что бы "Email" был не обязательным полем, приложение будет использоваться в локальной сети. заранее спасибо

Откуда вообще берутся такие желания?

А забудет пользователь пароль, какие действия? Дергать админа за штанину?

критиковать все горазды, а вариант что у пользователей может не быть почты?! вариант указывать свой внешний(mail, yandex, google)не вариант у пользователей "инета" нет(за очень редким исключение). на корпоративном "серве" заводить для них локальные ящики(тоже тот еще вариант). предложите решение лучше?!
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38877634
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusкритиковать все горазды, а вариант что у пользователей может не быть почты?! вариант указывать свой внешний(mail, yandex, google)не вариант у пользователей "инета" нет(за очень редким исключение). на корпоративном "серве" заводить для них локальные ящики(тоже тот еще вариант). предложите решение лучше?!

Вопрос был поставлен вполне корректно. Забудет пользователь пароль, какие действия? Как раз таки в глобальном интернете можно обойтись без почты, входить через фейсбук или гугл, без почты. В таком случае проблемы с восстановлением пароля нет, так как нет пароля. Внутри корпоративки нет другого способа идентификации пользователя, кроме как через почту. Если у вас админ адекватный, и вменяемый человек, то он заведёт каждому юзеру по почтовому ящику. Если нет, то будет работать почтовым сервером сам, лично. Ало, я пароль забыл. Кто вы? Откуда вы? От чего пароль? Какой логин? А это точно вы?
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38877653
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если ответил грубо, приношу извинения.

что бы создать ящик необходимо оформить это документально. дело даже не во вменяемости админа а в том что иначе нельзя. политика такая
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38878066
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusесли ответил грубо, приношу извинения.

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

Надо было в модели убрать [Required]
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38878081
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey1306bald56rusесли ответил грубо, приношу извинения.

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

Надо было в модели убрать [Required]
не работает это(изменял я модель), проверка в "валидаторе" происходит
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38878083
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusAndrey1306пропущено...


Отключите также проверку на уникальность логина !
напрасно Вы так, в базе поле "Email" является полем необязательным для заполнения, проблема была в "RequireUniqueEmail" при значении в "true" нельзя было поле "Email" оставить пустым, даже при редактировании модели как Вы указали постом выше. я понимаю что невалидный "Email" не есть хорошо, но при регистрации пользователя можно сделать валидацию данного поля средствами JQuery.validate.js(т.е. проверять наличие указанного email в базе). всем спасибо

Надо было и в базе разрешить использовать Null для пароля.

Или самому добавлять адреса пусть и фиктивные в поле email базы. типа UserName@contora.com
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38878085
Andrey1306
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bald56rusAndrey1306пропущено...


Надо было в модели убрать [Required]
не работает это(изменял я модель), проверка в "валидаторе" происходит

что то не с валидатором, значит
...
Рейтинг: 0 / 0
ASP.NET Identity
    #38878093
bald56rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey1306, вот этот параметр RequireUniqueEmail установленный в true
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Identity
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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