【发布时间】:2012-06-25 17:04:26
【问题描述】:
所以在 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(就像微软建议的那样)但也要在源代码中搜索对它的任何引用并在整个地方进行更改(可能不是最好的编程实践)。
有什么方法可以在属性中使用变量。我怀疑不会,因为这可能发生在编译时而不是运行时。如果没有人知道更好的模式来阻止我将来必须找到替换所有引用?
【问题讨论】:
标签: c# asp.net-mvc validation membership-provider