小编zah*_*ram的帖子

使用ASP.NET 5 MVC 6 Web API进行Cookie身份验证

我完全理解,如果有人发现我的问题非常基本,或者一直没有多大意义.我是新手,我正在尝试使用最新的.NET Framework 5和MVC 6来构建可以从Angular JS客户端使用的Web Api.这将允许我为它创建一个网站,以及通过Phonegap包装它的移动应用程序.所以请跟我一点.

我现在想要实现的是拥有一个Web API控制器,它接收登录请求并根据Cookie身份验证将结果返回给客户端(稍后客户端应存储此cookie并将其用于与服务器通信)

  • 我在project.json中添加了以下内容

在此输入图像描述

  • 在Startup.cs中,我在ConfigureServices下添加:

    // Add entity framework support
    services.AddEntityFramework()
        .AddSqlServer()
        .AddDbContext<ApplicationDbContext>(options =>
        {
            options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]);
        });
    
        // add ASP.NET Identity
        services.AddIdentity<ApplicationUser, IdentityRole>(options => {
            options.Password.RequireDigit = false;
            options.Password.RequireLowercase = false;
            options.Password.RequireUppercase = false;
            options.Password.RequireNonLetterOrDigit = false;
            options.Password.RequiredLength = 6;
        })
           .AddEntityFrameworkStores<ApplicationDbContext>()
           .AddDefaultTokenProviders();
    
    Run Code Online (Sandbox Code Playgroud)
  • 在Startup.cs中的Configure下:

        // Using the identity that technically should be calling the UseCookieAuthentication
        app.UseIdentity();
    
    Run Code Online (Sandbox Code Playgroud)

现在,在Controller方法登录,我能够找到用户使用其电子邮件地址和UserManager:

            // Verify that the model is valid according to the validation rules in the model itself. 
            // If …
Run Code Online (Sandbox Code Playgroud)

authentication restful-authentication asp.net-web-api asp.net-core-mvc

2
推荐指数
1
解决办法
819
查看次数