【发布时间】:2017-05-20 07:54:27
【问题描述】:
我有一个运行 MVC5 WebApi 2 的本地站点。我在那里有默认的 AccountController,我有一个 WebApi 控制器,我用 [Authorize] 属性锁定了,所以我需要登录。我想要做的是首先通过 UWP 连接到它。
默认的登录 POST 方法如下所示:
//
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, change to shouldLockout: true
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
return RedirectToLocal(returnUrl);
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
}
如果我尝试使用 Postman 发布到该 URL,我会收到关于防伪令牌的错误。只是想知道我需要在 Web Api 2 端和 UWP 端做什么才能让它运行。在 UWP 端,我试图通过登录按钮上的 Windows.Web.Http.HttpClient 进行设置,单击我的 XAML。还没有代码,因为我首先在 Postman 中进行测试,看看我需要做什么才能获得连接。我是否需要在 AccountController 上添加一个绕过防伪令牌并仅在 POST 方法上获取用户名/密码的方法,还是不推荐这样做?
所以我的 UWP 只有一个用户名和密码的文本框,我想通过
连接到我的网络服务器【问题讨论】:
标签: c# asp.net-web-api