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