我修改了MVC Controller
,从ApiController
中提取了一些代码:
public class LoginController : Controller
{
public async Task<IHttpActionResult> Login(LoginModel model)
{
var success = await _accountClient.Login(model);
if (!success)
{
return new UnauthorizedResult(Enumerable.Empty<AuthenticationHeaderValue>(), new HttpRequestMessage());
}
return new OkResult(new HttpRequestMessage());
}
}
这看起来或感觉不对,尤其是我创建新HttpRequestMessage
的部分;我很确定应该以某种方式来自传入的Request
,但我无法弄清楚它应该来自哪里。
另外,如何为IEnumerable<AuthenticationHeaderValue>
构造函数的challenges
参数创建UnauthorizedResult
对象?
答案 0 :(得分:1)
您可以将标题添加到Response
对象
Response.AddHeader("Token","your-generated-token");
您也可以将操作方法更改为
public async Task<HttpStatusCodeResult> Login(LoginModel model)
{
var success = await _accountClient.Login(model);
if (!success)
{
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
}
return new HttpStatusCodeResult(HttpStatusCode.Ok);
}