2017-08-16 50 views
2

我试图让这个路径点上班Sails.js在路线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它会工作,但我想访问控制这条路线。

+0

从[docs](http://sailsjs.com/documentation/concepts/routes/custom-routes#?route-target-选项)'将skipAssets设置为true if你不想让路线与其中的点相匹配的网址 –

+0

更新我的问题 – kailniris

回答

0

路线应该设置这样的:

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

这个方法应该添加到配置/ 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