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
我正在努力让这条路线发挥作用
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