【问题标题】:How to connect MS SQL from VueJS and ASP.Net Core Razor pages如何从 VueJS 和 ASP.Net Core Razor 页面连接 MS SQL
【发布时间】:2021-04-06 10:45:34
【问题描述】:

我正在通过 CDN 使用 Vue 来构建 SPA。我网站的后端使用 ASP.NET Core。主 vue spa 页面在 razor 页面中初始化,所有组件都使用 html.partial 导入。到目前为止它工作得很好但是我需要连接到数据库并提取数据并更新数据库。我找不到任何简单的示例或教程,说明如何在 vue SPA 中使用实体框架查询 MS SQL 数据库以提取我的组件的数据或使用来自 SPA 上的表单的用户输入更新 MS SQL 数据库。虽然我是 Vue 和 ASP.Net 的新手,但 SPA 的目的是减少重新加载页面的需要,所以我很好奇如何在不重新加载的情况下做到这一点并保持自然的 SPA 感觉仍然与数据库交互?为了安全起见,我已经设置了身份验证,并且登录页面(剃刀页面)一旦登录就会重定向到 SPA。

【问题讨论】:

    标签: vue.js asp.net-core vuejs2 vue-component razor-pages


    【解决方案1】:

    您可以在后端 Web API 中使用实体框架实现和公开用于查询 SQL db 的端点,然后您可以使用 Vue 组件中的 Axios 等发出 http 请求来使用 API 并查询数据。

    有关“使用 Axios 使用 API”的更多信息,请查看此文档:

    https://vuejs.org/v2/cookbook/using-axios-to-consume-apis.html#Base-Example

    【讨论】:

    • 我可以在我的索引模型上存储一个 post 函数并使用 axios 对其进行 post 请求以提取数据吗?这基本上是它的要点吗?尚未在 .net 中完成 web api,但是我使用剃须刀页面模型来构建获取和发布功能。我也应该使用 fetch 而不是 axios 吗?
    • can I just store a post function on my index model and use axioms to do a post request to it to pull data? Is that basically the gist of it? 通常,我们实现和使用带有基于令牌的身份验证的 Web API 作为 Vue 等客户端应用程序的后端服务。如果您只想为查询数据库公开一个具有简单逻辑的端点,您可以在您的处理程序方法中实现它。 should I be using fetch instead of axios? Fetch API 也可以帮助发出请求,如果您愿意,当然可以在客户端使用它。
    • 使用索引页面模型的 post 处理程序与使用令牌的 web api 相比会带来安全问题吗?我确实查看了有关如何从请求中提取数据的 axios 文档,并且您可以向请求添加标头,因此我可以将 asp.net antiforgerytoken(读取 .net 核心具有此内置功能)以某种方式直接添加到该请求中?我对此有点陌生,但您的指导将使我在研究中免去许多麻烦。
    • Antiforgery token 用于防止 XSRF/CSRF 攻击,不能像 JWT auth 等那样对用户进行身份验证和授权。
    • 如果您对防伪令牌以及具有身份验证和授权的安全应用程序等有更多疑问,我建议您可以针对这些问题创建一个新线程。
    猜你喜欢
    • 2021-01-01
    • 2019-05-22
    • 2022-01-19
    • 2020-05-26
    • 2019-08-04
    • 2020-08-22
    • 2021-11-12
    • 2021-10-27
    • 2019-05-22
    相关资源
    最近更新 更多