自定义mongoose预挂钩中的CSRF失败(Keystone.js)

时间:2016-02-04 23:49:19

标签: keystonejs

使用keystone LocalFile类型来处理图片上传。类似于Cloudinary autoCleanup选项,除了通过admin ui删除条目时相应的mongo条目外,我希望能够删除上传的文件本身。

在这种情况下,我想删除一个"专辑",以及相应的专辑封面。

Album.schema.pre('remove', function(next){ var path = this._original.album_cover.path + "/" + this._original.album_cover.filename fs.unlink(path, function () { console.log('deleted'); })

我得到" CSRF失败"使用fs模块时。我认为所有CSRF保护都是由Keystone内部处理的。

任何人都知道更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

休息了10分钟后回来,现在似乎正在运作。我也发现了这个,这似乎是解释。

“此外,请仔细检查您的会话超时。在我的开发设置中,会话持续时间设置为3分钟。因此,如果我最终编辑的内容超过该时间,Keystone将在保存时返回CSRF错误,因为新会话(在此期间生成)使旧令牌无效。“

https://github.com/keystonejs/keystone/issues/1330