我正在使用Active Directory作为我网站用户的数据存储。如果密码不符合任何密码策略约束,我有Active Directory抛出以下异常。
- >提供的密码无效。 密码必须符合密码 配置的强度要求 默认提供商。
我可以以任何方式自定义此错误消息/通知吗?
我想要的是 - 如果'密码历史'是违反的约束,则错误消息应该这样说(例如新密码应该与最近使用的10个密码不同.. )
感谢任何帮助。
答案 0 :(得分:3)
你可以抓住这个并throw
你拥有消息
try {
// your error will probably appear here
if (MembershipService.ValidateUser(usr, pwd))
{
...
}
}
catch(Exception ex)
{
// Let's see if we have Inner Exceptions to deal
if(ex.InnerException != null)
while(ex.InnerException != null)
ex = ex.InnerException;
// Now, let's check our exception
if(ex.Message.StartsWith("The password supplied is invalid. Passwords must conform to the password strength requirements configured for the default provider."))
{
throw new Exception("My custom message goes here");
}
// Let's throw the original one
throw ex;
}
这是你想要完成的吗?
答案 1 :(得分:0)
您应该看到引发的Exception的确切类型,并为此异常设置特定的 catch 。
如果您看到此链接http://msdn.microsoft.com/en-us/library/0yd65esw.aspx,您会看到可以捕获多个特定的例外。
然后,您可以向用户返回您想要的任何信息。