Sails.js 路由参数中的点

Sails.js dot in route param

我正在努力让这条路线发挥作用

items/images/myimg.jpg

它响应 404 但与

一起工作
items/images/myimg

也适用于

items/images/myimg.jpg/

我尝试了以下路由器配置

'get /items/images/:imageName': {
  action: 'items/images/find',
  skipAssets: true,
}

编辑:

如果我设置 skipAssets: false 那么响应将是未经授权的。我有以下 ACL

'*': false,
'items/images/find': 'isLoggedIn',

在 isLoggedIn.js 策略中,即使用户有一个有效会话,req.session 也是未定义的。

如果我设置 'items/images/find': true 它会起作用,但我想对该路由进行访问控制。

路由应该这样设置:

'get /items/images/:imageName': {
  action: 'items/images/find',
  skipAssets: false,
}

这个方法应该添加到config/session.js:

isSessionDisabled: function (req){
  // Allow session for all item image requests.
  if (req.path.match(/^\/items\/images\//) { 
    return false; 
  }
  // Otherwise, disable session for all requests that look like assets.
  return !!req.path.match(req._sails.LOOKS_LIKE_ASSET_RX);
}

可以在这里阅读更多相关信息: https://github.com/balderdashy/sails/issues/4216#issuecomment-337613995