0
我試圖在asp.net核心1.1上使用angurl 2/4 cli實現防僞令牌,但每次使用「ValidateAntiForgeryToken」系統時都會給我400個錯誤的請求錯誤。asp.net核心1.1 antiforgery角2/4
在asp.net startup.cs我有使用
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
app.Use(async (context, next) =>{
await next();
string path = context.Request.Path.Value;
if (path != null && !path.ToLower().Contains("/api"))
{
var tokens = antiforgery.GetAndStoreTokens(context);
context.Response.Cookies.Append("XSRF-TOKEN",
tokens.RequestToken, new CookieOptions{HttpOnly = false});
}
if (context.Response.StatusCode == 404 &&
!Path.HasExtension(context.Request.Path.Value))
{
context.Request.Path = "/index.html";
context.Response.StatusCode = 200;
await next();
}
});
在角app.module.ts我使用類似
provider:[{ provide: XSRFStrategy, useFactory: xsrfFactory}],
export function xsrfFactory() {
return new CookieXSRFStrategy('*******', '********');
}
我都試過,但我想,我已經嘗試設置頭「X-XSRF令牌」,仍然的WebAPI給我400錯誤我的角部位配置不正確。 – Megh
你可以嘗試使用jQuery進行測試請求嗎?確保服務器端正常工作。 – wannadream
我很抱歉,我試圖通過jquery提出請求,但仍然出現同樣的錯誤,好像我沒有正確配置它。 – Megh