Sailsjs政策没有生效

RSA*_*min 0 sails.js

我在Sails 0.9.16中遇到了策略/路由问题.无论我做什么,/用户路径都不受保护.显然,我做错了什么.

我有以下路线:

'/': {
    view: 'home/index'
},

'get /login': {
view: 'login'
},

'post /login': {
  controller: 'UserController',
  action: 'login'
},
Run Code Online (Sandbox Code Playgroud)

以下政策:

module.exports.policies = {
   '*'    : false,
   user   : {
   '*': 'isAuthenticated'
   },
   login  : {
   '*' :true 
   },
}
Run Code Online (Sandbox Code Playgroud)

从路由和策略中,您可以看到我希望/ login route不受保护,并且/ user/*路径受到保护.我的isAuthenticated.js是用新帆项目创建的股票.

UserController正确匹配密码并设置req.session.authenticated = true.

我迷失了如何解决这个问题?

bre*_*hin 5

AFAIK,Sails的政策正在按照控制器/行动应用,而不是按路线应用.另外,请在此处查看正确的结构.所以,你config/policies.js应该成为:

module.exports.policies = {
  UserController: {
    '*': 'isAuthenticated',
    login: true
  }
}
Run Code Online (Sandbox Code Playgroud)