路线参数中的Sails.js点

时间:2017-08-16 05:59:44

标签: sails.js

我想让这条路线上班

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它会起作用,但我希望对此路线进行访问控制。

1 个答案:

答案 0 :(得分:3)

路线应如下设置:

'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