Фреймворк удостоверений ASP.NET Core позволяет регистрироваться только на @ company.com - PullRequest
0 голосов
/ 08 января 2019

Как разрешить только @companyname.com адреса электронной почты в моем веб-приложении ASP.NET Core с платформой идентификации?

В моем приложении у меня разные роли и два адреса электронной почты: company.com & company.cs.

Спасибо

1 Ответ

0 голосов
/ 09 января 2019

Если вы используете идентификацию scaffold, вы можете добавить атрибут custom validation и применить его к свойству Register EmailAddress.

Для создания пользовательского атрибута проверки вам необходимо создать класс, который наследуется от ValidationAttribute базового класса и переопределить его IsValid() метод.

public class IdentityEmailAttribute:ValidationAttribute
{
    protected override ValidationResult IsValid (object value, ValidationContext validationContext)
    {
        string email = value.ToString();

        if (email.EndsWith("@companyname.com") == false)
        {
            return new ValidationResult("Invalid Email Address which does not end with @companyname.com");
        }
        return ValidationResult.Success;
    }
}

После создания вы можете применить атрибут [IdentityEmail] поверх свойства Email вашей InputModel в Register.cshtml.cs:

public class InputModel
    {
        [Required]
        [EmailAddress]
        [Display(Name = "Email")]
        [IdentityEmail]
        public string Email { get; set; }

        //other properties
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...