asp.net-core-mvc - 身份框架 ASP.NET Core 仅允许 @company.com 注册
问题描述
如何@companyname.com
在具有标识框架的 ASP.NET Core Web 应用程序中只允许电子邮件地址?
在我的应用程序中,我有不同的角色和两个电子邮件地址company.com
& company.cs
。
谢谢
解决方案
如果您使用脚手架身份,您可以添加自定义验证属性并将其应用于您的 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]
在 Register.cshtml.cs 中的 InputModel 的 Email 属性之上应用该属性:
public class InputModel
{
[Required]
[EmailAddress]
[Display(Name = "Email")]
[IdentityEmail]
public string Email { get; set; }
//other properties
}
推荐阅读
- google-cloud-platform - 如何从 GCP 控制台或 UI 中检索 Bigquery 帐单详细信息?
- angular - 我想在我的组件中打开另一个网站。在 Angular 中使用深度链接
- php - 为什么我没有正确的密码就可以登录?为什么 password_verify 总是返回 true?
- netlogo - Netlogo:如何使用“矩阵”将每只海龟移动到指定位置并停留一段时间?
- sql - 在 oracle 11g 中转置行
- node.js - SyntaxError:意外的令牌常量
- python - Tkinter 动态颜色范围
- r - 将 urltools::url_parse 与 UTF-8 域一起使用
- apache - 将 apache www、https://www 重定向到 https 非 www URLS
- python - 需要帮助配置 python boto3