/// <summary> /// Initializes the provider. /// </summary> /// <param name="name">The friendly name of the provider.</param> /// <param name="config">A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.</param> /// <exception cref="T:System.ArgumentNullException">The name of the provider is null.</exception> /// <exception cref="T:System.ArgumentException">The name of the provider has a length of zero.</exception> /// <exception cref="T:System.InvalidOperationException">An attempt is made to call <see cref="M:System.Configuration.Provider.ProviderBase.Initialize(System.String,System.Collections.Specialized.NameValueCollection)"/> on a provider after the provider has already been initialized.</exception> public override void Initialize(string name, NameValueCollection config) { if (config == null) throw new ArgumentNullException("config"); if (name == null || name.Length == 0) name = "MySQLProfileProvider"; if (string.IsNullOrEmpty(config["description"])) { config.Remove("description"); config.Add("description", "MySQL Profile provider"); } base.Initialize(name, config); try { string applicationName = GetConfigValue(config["applicationName"], HostingEnvironment.ApplicationVirtualPath); connectionString = ""; ConnectionStringSettings ConnectionStringSettings = ConfigurationManager.ConnectionStrings[ config["connectionStringName"]]; if (ConnectionStringSettings != null) connectionString = ConnectionStringSettings.ConnectionString.Trim(); if (String.IsNullOrEmpty(connectionString)) return; // make sure our schema is up to date SchemaManager.CheckSchema(connectionString, config); app = new Application(applicationName, base.Description); } catch (Exception ex) { throw new ProviderException(Resources.ErrorInitProfileProvider, ex); } }
/// <summary> /// Initializes the provider. /// </summary> /// <param name="name">The friendly name of the provider.</param> /// <param name="config">A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.</param> /// <exception cref="T:System.ArgumentNullException">The name of the provider is null.</exception> /// <exception cref="T:System.ArgumentException">The name of the provider has a length of zero.</exception> /// <exception cref="T:System.InvalidOperationException">An attempt is made to call <see cref="M:System.Configuration.Provider.ProviderBase.Initialize(System.String,System.Collections.Specialized.NameValueCollection)"/> on a provider after the provider has already been initialized.</exception> public override void Initialize(string name, NameValueCollection config) { if (config == null) { throw new ArgumentNullException("config"); } if (name == null || name.Length == 0) { name = "MySQLRoleProvider"; } if (string.IsNullOrEmpty(config["description"])) { config.Remove("description"); config.Add("description", "MySQL Role provider"); } base.Initialize(name, config); string applicationName = HostingEnvironment.ApplicationVirtualPath; if (!String.IsNullOrEmpty(config["applicationName"])) applicationName = config["applicationName"]; if (!(config["writeExceptionsToEventLog"] == null)) { if (config["writeExceptionsToEventLog"].ToUpper() == "TRUE") { pWriteExceptionsToEventLog = true; } } pConnectionStringSettings = ConfigurationManager.ConnectionStrings[config["connectionStringName"]]; if (pConnectionStringSettings != null) connectionString = pConnectionStringSettings.ConnectionString.Trim(); else connectionString = ""; if (String.IsNullOrEmpty(connectionString)) return; // make sure our schema is up to date SchemaManager.CheckSchema(connectionString, config); app = new Application(applicationName, Description); }
/// <summary> /// Initializes the MySQL membership provider with the property values specified in the /// ASP.NET application's configuration file. This method is not intended to be used directly /// from your code. /// </summary> /// <param name="name">The name of the <see cref="MySQLMembershipProvider"/> instance to initialize.</param> /// <param name="config">A collection of the name/value pairs representing the /// provider-specific attributes specified in the configuration for this provider.</param> /// <exception cref="T:System.ArgumentNullException">config is a null reference.</exception> /// <exception cref="T:System.InvalidOperationException">An attempt is made to call <see cref="M:System.Configuration.Provider.ProviderBase.Initialize(System.String,System.Collections.Specialized.NameValueCollection)"/> on a provider after the provider has already been initialized.</exception> /// <exception cref="T:System.Configuration.Provider.ProviderException"></exception> public override void Initialize(string name, NameValueCollection config) { if (config == null) { throw new ArgumentNullException("config"); } if (name == null || name.Length == 0) { name = "MySQLMembershipProvider"; } if (string.IsNullOrEmpty(config["description"])) { config.Remove("description"); config.Add("description", "MySQL default application"); } base.Initialize(name, config); string applicationName = GetConfigValue(config["applicationName"], HostingEnvironment.ApplicationVirtualPath); maxInvalidPasswordAttempts = Convert.ToInt32(GetConfigValue(config["maxInvalidPasswordAttempts"], "5")); passwordAttemptWindow = Convert.ToInt32(GetConfigValue(config["passwordAttemptWindow"], "10")); minRequiredNonAlphanumericCharacters = Convert.ToInt32(GetConfigValue(config["minRequiredNonalphanumericCharacters"], "1")); minRequiredPasswordLength = Convert.ToInt32(GetConfigValue(config["minRequiredPasswordLength"], "7")); passwordStrengthRegularExpression = Convert.ToString(GetConfigValue(config["passwordStrengthRegularExpression"], "")); enablePasswordReset = Convert.ToBoolean(GetConfigValue(config["enablePasswordReset"], "True")); enablePasswordRetrieval = Convert.ToBoolean( GetConfigValue(config["enablePasswordRetrieval"], "False")); requiresQuestionAndAnswer = Convert.ToBoolean(GetConfigValue(config["requiresQuestionAndAnswer"], "False")); requiresUniqueEmail = Convert.ToBoolean(GetConfigValue(config["requiresUniqueEmail"], "True")); writeExceptionsToEventLog = Convert.ToBoolean(GetConfigValue(config["writeExceptionsToEventLog"], "True")); string temp_format = config["passwordFormat"]; if (temp_format == null) temp_format = "hashed"; else temp_format = temp_format.ToLowerInvariant(); if (temp_format == "hashed") passwordFormat = MembershipPasswordFormat.Hashed; else if (temp_format == "encrypted") passwordFormat = MembershipPasswordFormat.Encrypted; else if (temp_format == "clear") passwordFormat = MembershipPasswordFormat.Clear; else throw new ProviderException("Password format not supported."); // if the user is asking for the ability to retrieve hashed passwords, then let // them know we can't if (PasswordFormat == MembershipPasswordFormat.Hashed) { if (EnablePasswordRetrieval) throw new ProviderException(Resources.CannotRetrieveHashedPasswords); if (Runtime.IsMono) throw new ProviderException(Resources.MonoDoesNotSupportHash); } ConnectionStringSettings ConnectionStringSettings = ConfigurationManager.ConnectionStrings[ config["connectionStringName"]]; if (ConnectionStringSettings != null) connectionString = ConnectionStringSettings.ConnectionString.Trim(); else connectionString = ""; if (String.IsNullOrEmpty(connectionString)) return; // make sure we have the correct schema SchemaManager.CheckSchema(connectionString, config); app = new Application(applicationName, base.Description); }