我在Sails 0.9.16中遇到了策略/路由问题。无论我做什么,/用户路径都不受保护。显然我做错了。
我有以下路线:
'/': {
view: 'home/index'
},
'get /login': {
view: 'login'
},
'post /login': {
controller: 'UserController',
action: 'login'
},
以下政策:
module.exports.policies = {
'*' : false,
user : {
'*': 'isAuthenticated'
},
login : {
'*' :true
},
}
从路由和策略中,您可以看到我希望/ login route不受保护,并且/ user / *路径受到保护。我的isAuthenticated.js是用新帆项目创建的股票。
UserController正确匹配密码并设置req.session.authenticated = true。
我迷失了如何解决这个问题?
答案 0 :(得分:5)
AFAIK,Sails的政策正在按照控制器/行动应用,而不是按路线应用。另外,检查here是否有合适的结构。因此,您的config/policies.js
应该会变成:
module.exports.policies = {
UserController: {
'*': 'isAuthenticated',
login: true
}
}
答案 1 :(得分:0)
自Sails开始,0.11政策可应用于custom routes:
'/foo': {policy: 'myPolicy'}
政策的蓝图路线:
'/foo': [{policy: 'myPolicy'}, {blueprint: 'find', model: 'user'}]
查看政策路线:
'/foo': [{policy: 'myPolicy'}, {view: 'foobar'}]