Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获得';由于其保护级别';尝试使用MembershipProvider.EncryptPassword时出错_C#_Asp.net_.net_Asp.net Mvc_.net 4.0 - Fatal编程技术网

C# 获得';由于其保护级别';尝试使用MembershipProvider.EncryptPassword时出错

C# 获得';由于其保护级别';尝试使用MembershipProvider.EncryptPassword时出错,c#,asp.net,.net,asp.net-mvc,.net-4.0,C#,Asp.net,.net,Asp.net Mvc,.net 4.0,尝试在使用EncryptPassword方法将密码存储在数据库中之前对其进行加密,然后使用MembershipProvider.DecryptPassword方法对其进行加密,但获取“由于其保护级别而无法访问”错误警告。因为MembershipProvider.EncryptPassword和MembershipProvider.DecryptPassword方法受保护 因此,您将无法在类或其派生类定义之外访问它们 当通过Membership.CreateUser创建任何用户时,它会自动加密密码

尝试在使用EncryptPassword方法将密码存储在数据库中之前对其进行加密,然后使用MembershipProvider.DecryptPassword方法对其进行加密,但获取“由于其保护级别而无法访问”错误警告。

因为
MembershipProvider.EncryptPassword
MembershipProvider.DecryptPassword
方法受保护

因此,您将无法在类或其派生类定义之外访问它们


当通过
Membership.CreateUser
创建任何用户时,它会自动加密密码。

因为
MembershipProvider.EncryptPassword
MembershipProvider.DecryptPassword
方法都受到保护

因此,您将无法在类或其派生类定义之外访问它们


当通过
会员身份创建任何用户时。CreateUser
会自动加密密码。

需要查看更多代码来告诉您发生了什么。它与您试图访问的私有或内部成员有关。需要查看更多代码来告诉您发生了什么。它与您试图访问的私人或内部成员有关。好的,谢谢。因此,我甚至可能不需要从我的操作方法中调用它们,并且默认的成员资格提供程序可能会处理加密/解密,前提是在web.config.Ok中将PasswordFormat属性设置为“Encrypted”。因此,我甚至可能不需要从我的操作方法中调用它们,并且默认成员资格提供程序可能会处理加密/解密,前提是在web.config中将PasswordFormat属性设置为“Encrypted”。
 public ActionResult Register(RegisterModel RegisterModel, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                MembershipCreateStatus createStatus;

                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                Byte[] Password = encoding.GetBytes(RegisterModel.Password);
                var EncryptedPass = MembershipProvider.EncryptPassword(Password);

                Membership.CreateUser(RegisterModel.UserName, RegisterModel.Password, RegisterModel.Email, null, null, true, null, out createStatus);

                if (createStatus == MembershipCreateStatus.Success)
                {
                    FormsAuthentication.SetAuthCookie(RegisterModel.UserName, false /* createPersistentCookie */);
                    return Redirect(returnUrl ?? Url.Action("Index", "Education"));
                }
                else
                {
                    ModelState.AddModelError("", ErrorCodeToString(createStatus));
                }
            }

            // If we got this far, something failed, redisplay form
            return View(RegisterModel);
        }