sails页面权限控制怎么做?
发布于 8 年前 作者 Rock-1 3661 次浏览 来自 问答

我现在能拦截到control ler

14 回复

怎么才能拦截页面呢

页面还是从controller走一道吧

sails底层还是用的express,所以可以通过在 config/http.js文件里面自定义个middleware来达到你的静态页面的拦截。 但这种方式太hack,不建议这样做。对于页面要做拦截,还是过一下Controller,给Controller配上policy来拦截。

@luoyjx我也想在controller走一下感觉那么多页面是不是太乱了

@bing6 有demo么,不是很明白

@Rock-1 文档写的很明白啦,在 api/policies 定义控制访问的 middleware,在 config/policies.js 配置 controller 跟 action 对应的 middleware。 比如我想要用户登录才能创建话题,可以在 api/policies 目录里面创建 isLoggedIn.js

module.exports = function isLoggedIn (req, res, next) {
	//
};

然后在 config/policies.js 里面这么设置

{
  TopicController: {
      create: 'isLoggedIn'
  }
}

@IchiNiNiIchi 这个只能拦截controller但是我想拦截view是不是必须走一下controller

F165E903-8C08-4F82-A4F5-B2DEA95F5C85.png我想拦截这个请求

@Rock-1 是的,因为你都要加逻辑处理了,这种情况类 Rails 的框架一般都是放到 action 里面处理了

@IchiNiNiIchi 好吧谢谢,本想有其他的方法的,都写在controller太乱了还是用session吧

@Rock-1 或者像 JerryC8080 说的,虽然不推荐,你可以看看这个 http://sailsjs.org/documentation/concepts/middleware

@Rock-1 你这个又是页面又是controller,不是更乱?

@luoyjx 再让我写页面我就用controller

回到顶部