我是Asp.net Boilerplate的新手,我学习了Lee Richardson在YT中的教程。我还阅读了Asp.net样板页中关于web和动态API的文档。
现在,当我试图在POST、PUT和Delete请求中使用Swagger和Postman时,我遇到了这个错误
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Authorization failed for the request at filter 'Abp.AspNetCore.Mvc.Antiforgery.AbpAutoValidateAntiforgeryTokenAuthorizationFilter'.
Microsoft.AspNetCore.Mvc.StatusCodeResult: Information: Executing HttpStatusCodeResult, setting HTTP status code 400
但我在get Method中没有遇到错误。我是否在配置或任何文件中遗漏了什么?。请帮忙。我感谢你的帮助,并提前感谢你。
这是我的DTO和服务类
[AutoMap(typeof(SinkingGroup))]
public class SinkingGroupDto : EntityDto<int>, IFullAudited, ISoftDelete
{
[Required]
public string GroupName { get; set; }
public int MembersCount { get; set; }
public long? CreatorUserId { get ; set ; }
public DateTime CreationTime { get ; set ; }
public long? LastModifierUserId { get ; set ; }
public DateTime? LastModificationTime { get ; set ; }
public long? DeleterUserId { get ; set ; }
public DateTime? DeletionTime { get ; set ; }
public bool IsDeleted { get ; set ; }
}
[AbpAuthorize]
public class SinkingGroupAppService : AsyncCrudAppService<SinkingGroup, SinkingGroupDto>
{
public SinkingGroupAppService(IRepository<SinkingGroup,int> repository)
: base(repository)
{
}
}
感谢您的帮助@aaron。我弄清楚了我出现这些错误的原因。这是因为我运行的是web.vc项目,而不是web.host项目。如果使用web.host,这将在启动项目时重定向到swagger ui,并单击authorize以使用swagger登录。
现在,我能够运行它而不会再次看到这些错误,并且能够将数据插入到表中。