我们正在开发一个Web应用程序,该应用程序使用表单身份验证和ActiveDirectoryMembershipProvider根据Active Directory对用户进行身份验证。我们很快发现提供程序不允许指定空白/空密码,即使这在Active Directory中是完全合法的(只要预防性密码策略不适用)。如何使ActiveDirectoryMembershipProvider接受空密码?
礼貌反射:
private void CheckPassword(string password, int maxSize, string paramName)
{
if (password == null)
{
throw new ArgumentNullException(paramName);
}
if (password.Trim().Length < 1)
{
throw new ArgumentException(SR.GetString("Parameter_can_not_be_empty", new object[] { paramName }), paramName);
}
if ((maxSize > 0) && (password.Length > maxSize))
{
throw new ArgumentException(SR.GetString("Parameter_too_long", new object[] { paramName, maxSize.ToString(CultureInfo.InvariantCulture) }), paramName);
}
}
短编写我们自己的自定义提供的,有没有什么办法来覆盖使用.NET的魔法此功能?
您可以连接到文件共享和映射网络驱动器等与一个空/空密码,除了ActiveDirectoryMembershipProvider之外,它全面支持。你是对的,没有办法在没有创建子类的情况下重写这种行为。 – fletcher 2010-07-28 14:02:20