0

我正在尝试使用 asp.net 核心及其 Angular SPA 模板开发LTI工具。学习管理系统可以通过在他们的网站中嵌入一个 i-frame 来使用我的工具(这是一个 Web 应用程序),并且他们通过使用附加了附加表单数据的 HTTP POST 请求来做到这一点。如果我使用 asp.net 核心 MVC 项目,该 POST 请求将达到与 GET 请求相同的操作,并且将呈现所需的视图,但使用 Angular 项目模板,我将到达一个带有此消息的空 html 页面

无法发布 /

我可以通过添加带有[Post("/")]属性的操作并通过使用重定向到主页来解决问题,Redirect("/")但我想知道是否有更好的解决方案。

4

1 回答 1

2

所以我找到了一种更好的方法来获取页面并保留表单数据。我刚刚创建了一个自定义中间件并将 POST 请求更改为 GET 请求。它保留标题并允许设置 cookie,不像Redirect("/")

app.Use(async (context, next) => 
    {
        if (context.Request.IsAuthenticatedWithLti())
            context.Request.Method = HttpMethods.Get;
        await next.Invoke();
    });
于 2019-01-06T21:11:23.503 回答