CORS 跨域资源共享

未匹配的标注

CORS 有时对于在您的应用程序中激活很重要。通过在响应中指定特定的 CORS 标头,CORS 允许您在应用程序上拥有更强大的安全层。这是通过“预检”请求完成的。

这些“预检”请求是与其他非安全请求(POST、PUT、DELETE)同时发送的 OPTIONS 请求,专门设计用于在允许其他请求通过之前验证 CORS 标头。

如果您的应用程序在未启用 CORS 的情况下收到预检请求,那么您将在响应中收到错误消息。

快速开始

要在 Masonite 中启用 cors,我们只需要在您的项目中创建一个 CORSMiddleware 文件,从 Masonite 的类继承,设置您的标头并将其添加到内核中的 HTTP 中间件。

所以首先在你放置中间件的任何地方创建你的中间件类。这是一个示例类:

from masonite.middleware import Middleware
from masonite.middleware.route import CorsMiddleware

class CorsMiddleware(CorsMiddleware):

    headers = {
        'Access-Control-Allow-Origin': "*",
        "Access-Control-Allow-Methods": "DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT",
        "Access-Control-Allow-Headers": "Content-Type, Accept, X-Requested-With",
        "Access-Control-Max-Age": "3600",
        "Access-Control-Allow-Credentials": "true"
    }

您可以添加任何有效的 CORS 标头。您可以在 Mozilla 文档 中了解有关 CORS 标头的更多信息。

创建后,您可以将其添加到Kernel.py类中的http_middleware中。

最好将CORS中间件作为第一个中间件,以防止可能出现的错误。

from app.middleware.CorsMiddleware import CorsMiddleware

#..
class Kernel:

    http_middleware = [
        CorsMiddleware,
        EncryptCookies
    ]
    #..

您的应用程序现在将允许 CORS 请求成功通过。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/masonite/4.0/fe...

译文地址:https://learnku.com/docs/masonite/4.0/fe...

上一篇 下一篇
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~