using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using Umbraco.Core.Models;
using Umbraco.Core.Security;
using Umbraco.Core.Services;
namespace Umbraco.Web
{
internal static class MembershipProviderExtensions
{
///
/// Returns the configuration of the membership provider used to configure change password editors
///
///
///
///
public static IDictionary GetConfiguration(
this MembershipProvider membershipProvider, IUserService userService)
{
var baseProvider = membershipProvider as MembershipProviderBase;
var canReset = membershipProvider.CanResetPassword(userService);
return new Dictionary
{
{"minPasswordLength", membershipProvider.MinRequiredPasswordLength},
{"enableReset", canReset},
{"enablePasswordRetrieval", membershipProvider.EnablePasswordRetrieval},
{"requiresQuestionAnswer", membershipProvider.RequiresQuestionAndAnswer},
{"allowManuallyChangingPassword", baseProvider != null && baseProvider.AllowManuallyChangingPassword},
{"minNonAlphaNumericChars", membershipProvider.MinRequiredNonAlphanumericCharacters}
//TODO: Inject the other parameters in here to change the behavior of this control - based on the membership provider settings.
};
}
}
}