这两天写到权限验证的问题, 第一次写koa, 关于session的问题, 在登录时已经设置过session了, 然后在其他controller里面读取session的时候一直为空, 原因是请求时设置如下:

默认情况下,fetch 不会从服务端发送或接收任何 cookies, 如果站点依赖于用户 session,则会导致未经认证的请求(要发送 cookies,必须设置 credentials 选项)
credentials可选值:
include, same-origin, *omit
1. include: 让浏览器发送包含凭据的请求(即使是跨域源)
2. same-origin: 在请求URL与调用脚本位于同一起源处时发送凭据
3. *omit: 浏览器不在请求中包含凭据
config目录下的env.js文件设置跨域域名

注意: 在这里设置了允许跨域的域名之后, 在服务端的跨域设置中也要设置成相同的:

不然会报错如下:

打包
打包完成后打开index.html文件是空白的, 路径问题, 修改package.json中:

修改完页面倒是出来了, 样式没加载, 是由于没有添加less的loaders, 修改webpack.config.prod.js:

在导出的对象里的module属性内添加:

在处理权限验证时遇到Koa中session获取不到的问题,原因是未正确配置credentials选项。解决方法包括设置credentials为'include'以发送包含凭据的请求,同时确保服务器端也允许相应跨域。此外,打包后的React应用出现样式未加载,通过修改webpack配置,添加less loader解决了此问题。
2362

被折叠的 条评论
为什么被折叠?



