如何以编程方式登录到 ASP.NET Identity 2?

Posted

技术标签:

【中文标题】如何以编程方式登录到 ASP.NET Identity 2?【英文标题】:How to programmatically login to ASP.NET Identity 2? 【发布时间】:2014-06-05 06:07:07 【问题描述】:

如何以编程方式登录 asp.net identity 2?这直接针对 Web API,但仅 MVC 项目需要 __RequestVerificationToken。这是一种登录方式:

 [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    
        if (ModelState.IsValid)
        
            var user = await UserManager.FindAsync(model.Email, model.Password);
            if (user != null)
            
                await SignInAsync(user, model.RememberMe);
                return RedirectToLocal(returnUrl);
            
            else
            
                ModelState.AddModelError("", "Invalid username or password.");
            
        

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

【问题讨论】:

程序化你的意思是类似于单元测试吗? 【参考方案1】:

您必须创建登录视图,然后通过 ajax 调用将您的数据提交给此方法。在这种情况下,我更喜欢使用 jquery.ajax 方法而不是 ajax 形式。 还要创建包含您的用户信息的 LoginViewModel,例如用户名、密码 所以你使用强类型视图。

【讨论】:

以上是关于如何以编程方式登录到 ASP.NET Identity 2?的主要内容,如果未能解决你的问题,请参考以下文章

asp.net 成员资格 - 如何以编程方式确定用户是不是在角色中

以编程方式将用户控件加载到占位符 (asp.net)

如何在运行 asp.net 页面时以编程方式设置表格背景?

使用 asp.net MVC 以编程方式重定向到 404 页面

当 Session.Abandon() 不起作用时,如何以编程方式结束 asp.net 中的会话?

如何以编程方式检测我的应用程序是不是在 ASP.NET 页面内以 IIS 7.0 集成模式运行