带有REST API数据层的Web应用

迪伦·施密特(Dylan Schmidt)

我需要有一个RESTful API,可以从MVC5 Web应用程序调用该API,以便最初仅对本地sql服务器进行简单的身份验证/授权。我需要能够将登录凭据从Web应用传递到api以获取标头令牌等。然后,我需要能够检查令牌中是否存在任何将数据拉回或将数据保存回db的请求。我现在在这里使用教程示例应用程序,直到我了解其功能为止。

Web端只是一个带有按钮的表单,还有一些jquery来捕获被单击的提交按钮:

$(document).ready(function () {

    var register = function() {
        var dataa = {
            Email: "[email protected]",
            Password: "password",
            ConfirmPassword: "password"
        };

        $.ajax({
            type: 'POST',
            url: 'api/Account/Register',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify(dataa)
        });
        return false;
    }

    $('#btnRegister').click(register);
});

然后是api本身的控制器:

[Authorize]
[RoutePrefix("api/Account")]
public class AccountController : ApiController
{
    [AllowAnonymous]
    [Route("Register")]
    public async Task<IHttpActionResult> Register(RegisterBindingModel model)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };

        IdentityResult result = await UserManager.CreateAsync(user, model.Password);

        if (!result.Succeeded)
        {
            return GetErrorResult(result);
        }

        return Ok();
    }
}

现在,当我尝试单击它时,它给我一个404错误。

无限重构

WebAPI上的身份验证基于基于令牌的OAuth身份验证。

有一个身份验证URL(//默认创建的项目的令牌),当您使用用户名和密码向该URL发出POST请求时,会得到一个令牌作为响应。您的客户端应用程序应存储此令牌,并将其附加到每个请求中,以便获得授权。

在后台,此令牌生成和令牌识别过程由连接到您的应用程序管道的OWin组件提供。您可以研究StartUp.Auth.cs这些组件的初始化。

您的登录表单没有什么特别的。它将仅将用户名和密码发布到身份验证URL。

在客户端上存储令牌的方式可能会因您的设计而异。存储令牌的最优选方法是使用Cookie或Javascript中的特定令牌存储。

您可以查看本教程中的示例和基础知识讨论。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有REST API的CQRS

来自分类Dev

带有前端的REST API

来自分类Dev

具有独立实体框架数据层的Web API

来自分类Dev

带有REST API的Laravel CSRF保护

来自分类Dev

带有CURL的Amazon PHP Rest API

来自分类Dev

带有通知的PayPal REST API

来自分类Dev

带有REST API的Spring Security

来自分类Dev

带有Spring Security的JSON REST API

来自分类Dev

带有REST API的CSRF Laravel

来自分类Dev

带有图像的REST API模式

来自分类Dev

带有NancyFx的.NET REST API文档

来自分类Dev

带有通知的PayPal REST API

来自分类Dev

带有REST API的开源Job Scheduler

来自分类Dev

带有 Swagger 的 PHP REST API - LiveHelperChat

来自分类Dev

带有REST / Web API服务的Cordova / Phonegap应用程序的SVN和TFS结构

来自分类Dev

wp rest api获取带有其元数据的帖子

来自分类Dev

wp rest api获取带有其元数据的帖子

来自分类Dev

Web Api Rest返回带有数据的Json,但在Postman中则不

来自分类Dev

安排带有数据访问层的3层dotnet核心应用

来自分类Dev

是否有带有rest api的网站列表

来自分类Dev

带有投影的JAVA中的OData REST API

来自分类Dev

带有其余API的SMS Provider和(REST付款支持)

来自分类Dev

带有SAML的REST API身份验证

来自分类Dev

带有Telesign调用REST API的无效签名

来自分类Dev

带有可选字段的REST API端点.htaccess(PHP)

来自分类Dev

带有Node.js Rest API的React.js

来自分类Dev

带有过滤器的Django rest框架API

来自分类Dev

将REST API用于带有节点的Jira

来自分类Dev

带有其余API的SMS Provider和(REST付款支持)