Asp.net mvc asp.net mvc 4 Web安全两步登录

Asp.net mvc asp.net mvc 4 Web安全两步登录,asp.net-mvc,authentication,membership-provider,simplemembership,Asp.net Mvc,Authentication,Membership Provider,Simplemembership,我已经创建了asp.NETMVC4互联网应用程序。 正如您所知,这里有通过websecurity.login进行授权的标准方法 内部登录操作AccountController if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { return Redirec

我已经创建了asp.NETMVC4互联网应用程序。 正如您所知,这里有通过websecurity.login进行授权的标准方法 内部登录操作AccountController

        if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
        {
            return RedirectToLocal(returnUrl);
        }
在WebSecurity.Login之后,如果用户名和密码正确,用户将被登录。 但我想要两步登录。所以在WebSecurity.Login之后,若用户名和密码正确,那个么用户将转到另一个页面,在那个里他/她必须输入特殊代码,并且只有在这个(若代码正确)用户被登录之后。
因此,问题是,我可以通过重写websecurity类来实现这一点,而不创建自定义成员资格提供程序吗?

System.Web.Security命名空间有一个
成员资格
类,该类包含一个无需用户登录即可进行验证的方法。您可以使用它重定向到第二步页面:

if (Membership.ValidateUser(model.UserName, model.Password))
{
    // redirect to step 2...
}
请记住,
Membership
将引用在
web.config
中注册的默认成员资格提供程序,我相信在您的案例中是这样的:

<membership defaultProvider="simple">
    <providers>
        <clear/>
        <add name="simple" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
    </providers>
</membership>

您好,我已经检查过了,Websecurity类中没有方法ValidateUser。对不起,我指的是Web.Security命名空间…:)我已经更新了答案。