Asp.net mvc 4 MVC4简单成员身份密码处理

Asp.net mvc 4 MVC4简单成员身份密码处理,asp.net-mvc-4,passwords,simplemembership,password-encryption,Asp.net Mvc 4,Passwords,Simplemembership,Password Encryption,我正在MVC4应用程序中使用SimpleMembershipProvider。看起来,像强制密码复杂性、最大登录尝试次数之类的东西并不像框架早期版本中的提供程序那样内置在该提供程序中。有没有什么内在的方法可以用简单记忆来处理这些事情,或者我必须自己动手 而且,SimpleMemberhip提供程序使用什么哈希算法?我是否应该担心它似乎没有使用salt,即我的网页中的salt列为空?成员资格表我认为您可以使用SimpleMembershipProviderMembershipProvider构造函

我正在MVC4应用程序中使用SimpleMembershipProvider。看起来,像强制密码复杂性、最大登录尝试次数之类的东西并不像框架早期版本中的提供程序那样内置在该提供程序中。有没有什么内在的方法可以用简单记忆来处理这些事情,或者我必须自己动手

而且,SimpleMemberhip提供程序使用什么哈希算法?我是否应该担心它似乎没有使用salt,即我的网页中的salt列为空?成员资格表

我认为您可以使用SimpleMembershipProviderMembershipProvider构造函数重载为成员资格提供程序的实例提供这些密码设置需求属性,然后SimpleMembershipProvider将使用这些值

关于它使用的哈希,这意味着您不必担心。

我认为您可以使用SimpleMembershipProviderMembershipProvider构造函数重载来提供MembershipProvider实例,并设置这些密码要求属性,然后SimpleMembershipProvider将使用这些值


关于它使用的哈希,这意味着您不必担心。

我还没有发现密码复杂性强制执行,我自己也是MVC新手。但是SimpleMembership的登录方法有一个覆盖,指定失败尝试的最大次数和以秒为单位的锁定时间。下面是我的登录后控制器操作的一个示例,它将在3次尝试后锁定帐户:

public ActionResult Login(LoginModel model, string returnUrl)
    {
        if (ModelState.IsValid)
        {
            if (WebSecurity.IsAccountLockedOut(model.UserName, 3, 300))
            {
                ModelState.AddModelError("", "Your account has been locked due to excessive log in failures. Please try again in 5 minutes.");
                return View(model);
            }
            else if (WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }
        }

        // If we got this far, something failed, redisplay form
        ModelState.AddModelError("", "The user name or password provided is incorrect.");
        return View(model);
    }

我还没有找到一个密码复杂性强制执行的方法,我自己也是MVC新手。但是SimpleMembership的登录方法有一个覆盖,指定失败尝试的最大次数和以秒为单位的锁定时间。下面是我的登录后控制器操作的一个示例,它将在3次尝试后锁定帐户:

public ActionResult Login(LoginModel model, string returnUrl)
    {
        if (ModelState.IsValid)
        {
            if (WebSecurity.IsAccountLockedOut(model.UserName, 3, 300))
            {
                ModelState.AddModelError("", "Your account has been locked due to excessive log in failures. Please try again in 5 minutes.");
                return View(model);
            }
            else if (WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                return RedirectToLocal(returnUrl);
            }
        }

        // If we got this far, something failed, redisplay form
        ModelState.AddModelError("", "The user name or password provided is incorrect.");
        return View(model);
    }