public override void Initialize(string name, NameValueCollection config) { // Remove CAS from sample: HttpRuntime.CheckAspNetHostingPermission (AspNetHostingPermissionLevel.Low, SR.Feature_not_supported_at_this_level); if (config == null) { throw new ArgumentNullException("config"); } if (String.IsNullOrEmpty(name)) { name = "SQLiteRoleProvider"; } if (string.IsNullOrEmpty(config["description"])) { config.Remove("description"); config.Add("description", SM.GetString(SM.RoleSqlProvider_description)); } base.Initialize(name, config); _schemaVersionCheck = 0; _commandTimeout = SU.GetIntValue(config, "commandTimeout", 30, true, 0); string temp = config["connectionStringName"]; if (temp == null || temp.Length < 1) { throw new ProviderException(SM.GetString(SM.Connection_name_not_specified)); } _sqlConnectionString = SQLiteConnectionHelper.GetConnectionString(temp, true, true); if (_sqlConnectionString == null || _sqlConnectionString.Length < 1) { throw new ProviderException(SM.GetString(SM.Connection_string_not_found, temp)); } _applicationName = config["applicationName"]; if (string.IsNullOrEmpty(_applicationName)) { _applicationName = SU.GetDefaultAppName(); } if (_applicationName.Length > 256) { throw new ProviderException(SM.GetString(SM.Provider_application_name_too_long)); } config.Remove("connectionStringName"); config.Remove("applicationName"); config.Remove("commandTimeout"); if (config.Count > 0) { string attribUnrecognized = config.GetKey(0); if (!String.IsNullOrEmpty(attribUnrecognized)) { throw new ProviderException(SM.GetString(SM.Provider_unrecognized_attribute, attribUnrecognized)); } } }
public override void Initialize(string name, NameValueCollection config) { if (config == null) { throw new ArgumentNullException("config"); } if (String.IsNullOrEmpty(name)) { name = "SQLiteMembershipProvider"; } if (string.IsNullOrEmpty(config["description"])) { config.Remove("description"); config.Add("description", SM.GetString(SM.MembershipSqlProvider_description)); } base.Initialize(name, config); _schemaVersionCheck = 0; _enablePasswordRetrieval = SU.GetBooleanValue(config, "enablePasswordRetrieval", false); _enablePasswordReset = SU.GetBooleanValue(config, "enablePasswordReset", true); _requiresQuestionAndAnswer = SU.GetBooleanValue(config, "requiresQuestionAndAnswer", true); _requiresUniqueEmail = SU.GetBooleanValue(config, "requiresUniqueEmail", true); _maxInvalidPasswordAttempts = SU.GetIntValue(config, "maxInvalidPasswordAttempts", 5, false, 0); _passwordAttemptWindow = SU.GetIntValue(config, "passwordAttemptWindow", 10, false, 0); _minRequiredPasswordLength = SU.GetIntValue(config, "minRequiredPasswordLength", 7, false, 128); _minRequiredNonalphanumericCharacters = SU.GetIntValue(config, "minRequiredNonalphanumericCharacters", 1, true, 128); _passwordStrengthRegularExpression = config["passwordStrengthRegularExpression"]; if (_passwordStrengthRegularExpression != null) { _passwordStrengthRegularExpression = _passwordStrengthRegularExpression.Trim(); if (_passwordStrengthRegularExpression.Length != 0) { try { Regex regex = new Regex(_passwordStrengthRegularExpression); } catch (ArgumentException e) { throw new ProviderException(e.Message, e); } } } else { _passwordStrengthRegularExpression = string.Empty; } if (_minRequiredNonalphanumericCharacters > _minRequiredPasswordLength) { throw new HttpException(SM.GetString(SM.MinRequiredNonalphanumericCharacters_can_not_be_more_than_MinRequiredPasswordLength)); } _commandTimeout = SU.GetIntValue(config, "commandTimeout", 30, true, 0); _ApplicationName = config["applicationName"]; if (string.IsNullOrEmpty(_ApplicationName)) { _ApplicationName = SU.GetDefaultAppName(); } if (_ApplicationName.Length > 256) { throw new ProviderException(SM.GetString(SM.Provider_application_name_too_long)); } string strTemp = config["passwordFormat"]; if (strTemp == null) { strTemp = "Hashed"; } switch (strTemp) { case "Clear": _passwordFormat = MembershipPasswordFormat.Clear; break; case "Encrypted": _passwordFormat = MembershipPasswordFormat.Encrypted; break; case "Hashed": _passwordFormat = MembershipPasswordFormat.Hashed; break; default: throw new ProviderException(SM.GetString(SM.Provider_bad_password_format)); } if (PasswordFormat == MembershipPasswordFormat.Hashed && EnablePasswordRetrieval) { throw new ProviderException(SM.GetString(SM.Provider_can_not_retrieve_hashed_password)); } //if (_PasswordFormat == MembershipPasswordFormat.Encrypted && MachineKeySection.IsDecryptionKeyAutogenerated) // throw new ProviderException(SM.GetString(SM.Can_not_use_encrypted_passwords_with_autogen_keys)); string temp = config["connectionStringName"]; if (temp == null || temp.Length < 1) { throw new ProviderException(SM.GetString(SM.Connection_name_not_specified)); } _sqlConnectionString = SQLiteConnectionHelper.GetConnectionString(temp, true, true); if (_sqlConnectionString == null || _sqlConnectionString.Length < 1) { throw new ProviderException(SM.GetString(SM.Connection_string_not_found, temp)); } config.Remove("connectionStringName"); config.Remove("enablePasswordRetrieval"); config.Remove("enablePasswordReset"); config.Remove("requiresQuestionAndAnswer"); config.Remove("applicationName"); config.Remove("requiresUniqueEmail"); config.Remove("maxInvalidPasswordAttempts"); config.Remove("passwordAttemptWindow"); config.Remove("commandTimeout"); config.Remove("passwordFormat"); config.Remove("name"); config.Remove("minRequiredPasswordLength"); config.Remove("minRequiredNonalphanumericCharacters"); config.Remove("passwordStrengthRegularExpression"); if (config.Count > 0) { string attribUnrecognized = config.GetKey(0); if (!String.IsNullOrEmpty(attribUnrecognized)) { throw new ProviderException(SM.GetString(SM.Provider_unrecognized_attribute, attribUnrecognized)); } } }