所以在 MVC 中使用 .NET Membership 系统时,密码策略是在 web.config 文件中定义的。例如 minPasswordLength 在membership->profiles 中定义。
使用视图时,可以使用@Membership
组件访问
Passwords must be at least @Membership.MinRequiredPasswordLength characters long.
但是,如果您查看示例 MVC 应用程序中的默认模型,它会说
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New Password")]
public string NewPassword { get; set; }
我很好奇的部分是,MinimumLength = 6
因为这是硬编码的,这意味着如果我想更新密码长度,我不仅需要编辑 web.config(就像微软建议的那样),还要搜索对它在源代码中并到处更改(可能不是最佳编程实践)。
有什么方法可以在属性中使用变量。我怀疑不会,因为这可能发生在编译时而不是运行时。如果没有人知道更好的模式来阻止我将来必须找到替换所有引用?