Tag: sails.js

Sails.js节点服务器req.session始终为空,使用Passport-local策略。

在http://localhost:4200上运行应用程序应用程序。 Sails App正在http://localhost:1337 。 我有一个预注册调查的政策。 所以在/api/controllers/ProcessSurveyController.js的风帆方面,我有这样的: module.exports = { process_survey: function(req, res){ if(req.body === {} || req.body === null){ res.status(400); return res.send({err: "something bad happened"}); } var params = req.body; req.session.user = {}; if(params.p_1 === '1' && params.p_2 === '1' && params.p_3 === '0' && params.p_4 !== "Bad Param"){ req.session.user.qualifies = true; res.status(200); return res.send({message: […]

如何用MEAN和sails.js开始一个新的项目

我在过去创build了一个带有node.js,express和angular.js的web应用程序。 我正在开始一个新的项目,我也想使用MongoDB。 那将是MEAN堆栈。 只需使用MEAN就可以开始一个项目: http : //mean.io/ 。 现在,我已经编写了REST API,我听说过sails.js,这听起来非常有吸引力。 它可以为你自动创buildREST API。 所以我的问题是, 我会采取什么步骤来启动一个新的项目与MEAN堆栈和sails.js ? 选项: 我会克隆mean.io堆栈,运行npm install,然后npm install sails.js? 或者,sails.js似乎有自己的想法来做一个目录结构。 那么我会按照他们的说明安装sails.js http://sailsjs.org/#!getStarted然后npm安装Angular和Mongo? (我想我不会需要mongoose,因为sails.js有它自己的ORM,水线)。 我今天实际上会尝试选项2,但是我会很高兴知道哪些步骤对他人有效。 非常感谢你!

用sails.js实现passport-http-bearer标记

我正在尝试实施护照的passport-http-bearer战略,但它发现没有用户信息Bearer realm="Users" 。 我的request是一个post请求: {'token':'simple_access_token',} 任何人有任何想法,为什么会出现这个错误? 另外我知道这里req应该是https或ssl而不是http 。 我怎么做? 我使用的代码是: bearerPassportToken: function(req,res){ passport.authenticate('bearer', function(err, user, info){ if ((err) || (!user)) { if (err) return; if (!user) console.log("info);//Info: Bearer realm="Users" res.redirect('/login'); return; } req.logIn(user, function(err){ if (err){ res.redirect('/login'); } //Need to write code for redirection ; }); })(req, res); },

SailsJS支持ES6吗?

有没有办法在sails.js中获得ES6 ?

更改CreatedAt / UpdateAt属性的字段名称

我正在尝试在SailsJS中对现有的MSSQL表进行build模。 毫不奇怪,现有数据库中的表具有与SailsJS框架生成的类似的createdAt和updatedAt列。 有没有办法将由SailsJS框架生成的属性的值分配给我已经定义的属性? 例如: attributes: { … creationDate:{ columnName:'cre_dt', type:'datetime', defaultsTo: this.createdAt } … }

如何通过sails.js中的查询参数select性地填充水线关联

默认情况下,当相应的API路由命中时,sails将填充模型中的所有关系。 有谁知道是否有可能切换此function? 如果我正在使用一对多关联,则出于性能原因进行所有项目列表时,我可能不想填充关联。 但是,当查看一个单一的项目,这将是很好的完成人口。 例如,说一张票可以有很多评论。 提取案例列表时,我不在意这些意见,但在查看特定案例时,这一点很重要。 我猜测它是如何工作的,但是失败了: localhost:1337/tickets?populate=false 更新 我在balderdashy / sails#1695中实现了上述function。 唯一的变化是你有select地select使用哪些关联来填充: localhost:1337/tickets?populate=[] // Don't populate anything localhost:1337/tickets?populate=[comments] // Only populate comments 这将覆盖在蓝图configuration中populate任何内容。

如何创build一个正常的风帆模型,而不在模型文件夹

所以, 我正在为我的应用程序实现一个插件API,插件可以有自己的模型,想象一下。 SimplePlugin = { pluginName: 'simple', pluginConfig: {}, SimpleModel: { attributes: { name: 'string' } } } 所以我需要能够创build一个“一次性”的模型,只要有需要的function,它需要具有完全相同的function,因此您自动得到的URL像/simplePlugin/:id为find /simplePlugin/:id 谢谢

从控制器方法的sails.js访问控制器方法

如何进入风帆你不能从另一个内部访问其他控制器方法? 喜欢这个。 module.exports = findStore: -> # do somthing index: -> @findStore(); # Error: undefined 编译 module.exports = { findStore: function() {}, index: function() { return this.findStore(); // Error: undefined } }; 如果你不能这样做,为什么不呢? 我应该怎么做呢…

套接字的身份validation方法

我试图通过sailsjs和passport获得身份validation工作。 这个挑战似乎是套接字连接没有会话,sailsjs嘲笑请求对象,导致它没有设置Passport中间件。 这导致nodejs抛出一个错误,说req对象没有一个叫做logIn的方法。 所以,我试着按照@xdissent在这里提供的代码片断: 通过websockets进行Sails.js + Passport.jsauthentication,这确实可以让我login而不会抛出错误。 或者呢? 事实certificate,它做了什么 ,但我不知道是什么。 因为通过不同的(套接字)请求获取req.user ,我得到一个空的对象返回。 我也看了redis。 这出来了: redis 127.0.0.1:6379> keys * 1) "waterline:broadcasting:_sequences:id" 2) "sess:aDJI0YHzh17E3AMjtKsZSijs" redis 127.0.0.1:6379> get "sess:aDJI0YHzh17E3AMjtKsZSijs" "{\"cookie\":{\"httpOnly\":true,\"path\":\"/\"}}" redis 127.0.0.1:6379> 所以有一个会话,只是没有用户存储在它。 所以长话短说,我如何获得护照和sailsjs发挥好套接字。 更新 :我想了解一些关于会话,套接字和一般的风帆的信息。 所以,如果我在一个会话中设置东西,并刷新浏览器,我希望它仍然在那里。 如果我在与套接字连接相同的页面上进行xhr调用,不应该是相同的会话吗?

从Node.js服务器自动发布到我的Facebook页面

我有一个Node.js服务器运行社交网站,我也有该网站的Facebook页面。 对于用户在我的网站上执行的某些操作,我想在我的应用的Facebook页面上发布详细信息。 我在这里提到Thuzi facebook node sdk, 这里是关于如何发布到Facebook墙上的。 但是,它需要应用程序ID,应用程序秘密和临时访问令牌。 应用程序ID和应用程序的秘密是恒定的,所以我可以把它们放在我的configuration文件的某个地方,并从那里使用 但是如何在没有任何来自前端的交互的情况下获得访问令牌? 所有post都将仅通过我们的应用程序发布,而且也发布在我们自己的页面上。 我只是想让这个被最终用户的操作触发。 任何帮助? 我使用Sails.js框架顺便说一句。