public void InitializeBrokerProvider() //amit 18052017 { try { brokerMemProvider = new BrokerMembershipProvider(); System.Web.Security.SqlMembershipProvider ObjSqlMembershipProvider = new System.Web.Security.SqlMembershipProvider(); System.Web.Security.SqlRoleProvider ObjSqlRoleProvider = new System.Web.Security.SqlRoleProvider(); System.Collections.Specialized.NameValueCollection ObjNameValueCollRole = new System.Collections.Specialized.NameValueCollection(); System.Collections.Specialized.NameValueCollection ObjNameValueCollMembership = new System.Collections.Specialized.NameValueCollection(); System.Web.Security.MembershipCreateStatus enMembershipCreateStatus; ObjNameValueCollMembership.Add("connectionStringName", "SqlMembershipConn"); ObjNameValueCollMembership.Add("applicationName", "AMS.Broker.WatchDogService"); //these items are assumed to be Default and dont care..Should be given a look later stage. ObjNameValueCollMembership.Add("enablePasswordRetrieval", "false"); ObjNameValueCollMembership.Add("enablePasswordReset", "false"); ObjNameValueCollMembership.Add("requiresQuestionAndAnswer", "false"); ObjNameValueCollMembership.Add("requiresUniqueEmail", "false"); ObjNameValueCollMembership.Add("passwordFormat", "Hashed"); ObjNameValueCollMembership.Add("maxInvalidPasswordAttempts", "5"); ObjNameValueCollMembership.Add("minRequiredPasswordLength", "1"); ObjNameValueCollMembership.Add("minRequiredNonalphanumericCharacters", "0"); ObjNameValueCollMembership.Add("passwordAttemptWindow", "10"); ObjNameValueCollMembership.Add("passwordStrengthRegularExpression", ""); // ObjSqlMembershipProvider.Initialize("AspNetSqlMembershipProvider", ObjNameValueCollMembership); //System.Web.Security.MembershipUser user = ObjSqlMembershipProvider.CreateUser("admin,"password","*****@*****.**"); //hard coded the Provider Name,This function just need one that is present. I tried other names and it throws error. I found this using Reflector ..all the rest are take care by the above //name value pairs brokerMemProvider.Initialize("BrokerMembershipProvider", ObjNameValueCollMembership); } catch (Exception ex) { } }
private const int SALT_SIZE = 0x10; //16; #endregion Fields #region Methods public static string Encrypt(string password, string salt) { var Instance = new System.Web.Security.SqlMembershipProvider(); var m = Instance.GetType().GetMethod("EncodePassword", BindingFlags.NonPublic | BindingFlags.Instance); var encryptedPassword = (string)m.Invoke(Instance, new object[] { password, System.Web.Security.MembershipPasswordFormat.Encrypted, salt }); if (encryptedPassword.Length > 128) { throw new Exception("Invalid Password"); } return encryptedPassword; }
protected void Button1_Click(object sender, EventArgs e) { //System.Web.Security.Roles.CreateRole("TestRole"); System.Web.Security.SqlMembershipProvider smp = new System.Web.Security.SqlMembershipProvider(); //smp.Initialize("", System.Web.Security.SqlRoleProvider srp = new System.Web.Security.SqlRoleProvider(); var nvc = new System.Collections.Specialized.NameValueCollection(); nvc.Add("connectionStringName", "DefaultConnection"); nvc.Add("applicationName", "at"); srp.Initialize("DefaultRoleProvider", nvc); srp.CreateRole("atTest5"); System.Web.Security.Roles.CreateRole("TestRole1"); }
[HttpPost] public ActionResult ResetPassword(string email) { try { var objConfig = new System.Collections.Specialized.NameValueCollection(); objConfig.Add("connectionStringName", "cfEntitiesData"); objConfig.Add("enablePasswordRetrieval", "false"); objConfig.Add("enablePasswordReset", "true"); objConfig.Add("requiresQuestionAndAnswer", "false"); objConfig.Add("applicationName", "/"); objConfig.Add("requiresUniqueEmail", "true"); objConfig.Add("maxInvalidPasswordAttempts", "500"); objConfig.Add("passwordAttemptWindow", "10"); objConfig.Add("commandTimeout", "30"); objConfig.Add("passwordFormat", "Hashed"); objConfig.Add("name", "AspNetSqlMembershipProvider"); objConfig.Add("minRequiredPasswordLength", "8"); objConfig.Add("minRequiredNonalphanumericCharacters", "2"); //objConfig.Add("passwordStrengthRegularExpression", "(?=^.{8,25}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{\\":;'?/>.<,])(?!.*\\s).*$")); var objSqlMembershipProvider = new System.Web.Security.SqlMembershipProvider(); objSqlMembershipProvider.Initialize(objConfig["name"], objConfig); var field = objSqlMembershipProvider.GetType().GetField("_sqlConnectionString", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); field.SetValue(objSqlMembershipProvider, Stgs.DbConnectionString); var user = objSqlMembershipProvider.GetUser(email, false); if (user == null) { throw new Exception("No user found for " + email); } var newPass = objSqlMembershipProvider.ResetPassword(user.UserName, "Auto reset"); var profile = new UserService().GetProfileByID((Guid)user.ProviderUserKey); cf.Mail.MailMan.SendPasswordResetEmail(profile, newPass); return(Json(new { Success = true })); } catch (Exception ex) { return(Json(new { Success = false, Error = ex.Message })); } }