diff --git a/Cors.md b/Cors.md new file mode 100644 index 0000000..9f46831 --- /dev/null +++ b/Cors.md @@ -0,0 +1,46 @@ +框架内置有一个 "一键配置跨域支持" 的中间件。非常简单实用。 + +```js +{ + cors: { + enabled: false, + credentials: false, + origin: [], // ['abc.com', 'a.foo.com'] + maxAge: 14400 + } +} +``` + +从[默认配置](https://github.com/bytedo/gmf.core/wiki/默认配置)中可以看出, 我们想要开启跨域支持, 最简单的做法, 只需要把里面的enabled的值设为true即可。 + +即, 在入口文件中, 加入以下代码即可开启: + +```js +app.set({ cors: { enabled: true } }) +``` + +有时, 我们并不想这么简单粗暴的开启跨域支持, 需要对来源进行一些基础的校验, 如域名, 这时候就可以在origin字段中配置了, 配置应为一个数组, 允许同时配置多个可信域名。 + +注意: 这里的域名配置中, 根域名和二级域名、三级域名等, 可认为是同一域名, 只需要填写根域名即可。 + +```js +app.set({ cors: { enabled: true, origin: ['aaa.com', 'bbb.com'] } }) // 这里不需要再写 'foo.aaa.com' 等二级域名、三级域名了。 +``` + + +如果需要支持cookie, 还需要开启 credentials。 + +```js +app.set({ cors: { enabled: true, credentials: true } }) +``` + +另外还有一个 maxAge 缓存时长字段, 根据需要自行设置即可。 + + + +---- + +上一节: [⟪路由⟫](https://github.com/bytedo/gmf.core/wiki/Router) + +下一节: [⟪控制器⟫](https://github.com/bytedo/gmf.core/wiki/Controller) +