【发布时间】:2016-10-25 06:45:05
【问题描述】:
我需要有一个 RESTful API,我可以从 MVC5 Web 应用程序调用它来最初只针对本地 sql 服务器进行简单的身份验证/授权。我需要能够将登录凭据从 Web 应用程序传递到 api 以获取标头令牌等。然后我需要能够检查令牌以获取任何请求以提取数据或将数据保存回数据库。我现在正在使用教程示例应用程序Here,直到我了解其功能。
web 端只是一个带有按钮的表单和一些 jquery 来捕捉被点击的提交按钮:
$(document).ready(function () {
var register = function() {
var dataa = {
Email: "password@host.com",
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 错误。
【问题讨论】:
-
通过启用 Web API、MVC 和身份验证(个人用户帐户)使用 Visuat Studio 创建一个 Web 应用程序为您提供了一个基本上包含所有内容的项目,这是一个很好的起点。 Web 上有很多关于 Web API 和 Web API 安全性的教程。除了您的问题太宽泛而无法回答之外,您还需要关注对您不起作用的问题。
-
所以我遇到的问题是我使用个人用户帐户创建了一个新的 Web API,它已经完成了所有设置,但我很难理解如何制作一个简单的登录页面来传达该 api 的用户名/密码。我发现的教程似乎有助于面向 Web 的应用程序或 api 的身份验证,但不一定有助于两者之间的联系。对我来说,只是我需要更好地理解这些概念,这就是为什么我把它说得含糊不清,我不知道该问什么正确的问题。
-
Stack Overflow 并不是真的要提供教程(也不是教程链接)。它实际上更多的是关于代码的帮助。如果您已经走得足够远,可以共享代码,那可能是最好的方法。
-
更新为根据@infiniteRefactor 建议的示例为更具体的问题添加代码
标签: asp.net asp.net-mvc rest asp.net-web-api asp.net-identity