MVC4简单会员密码处理

Ada*_*ene 1 passwords password-encryption asp.net-mvc-4 simplemembership

我在我的MVC4应用程序中使用SimpleMembershipProvider.似乎强制密码复杂性,最大登录尝试次数等内容并未内置于此提供程序中,就像它们在早期版本的框架中提供的提供程序中一样.有没有内置的方法来使用SimpleMembership处理这些事情,或者我必须自己动手.

此外,SimpleMemberhip提供程序使用什么散列算法,我应该担心它似乎没有使用salt(即我的webpage_membership表中的salt列为空)

Dav*_*vid 6

我还没有找到密码复杂性的执行,我自己也是MVC的新手.但是SimpleMembership的Login方法有一个覆盖,它指定了最大失败尝试次数和锁定时间段(以秒为单位).以下是我的登录POST控制器操作的示例,该操作将在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);
    }
Run Code Online (Sandbox Code Playgroud)