- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试基于sails.js 构建一个聊天应用程序。来自特定聊天的消息的 url 如下所示:/api/chat/:id/messages
当我用 XHR 请求这个 url 时,它提供了一个 session cookie 并且sails.js 构建了一个 session 对象。我可以轻松检查用户从特定聊天中读取消息的权限。
但是,我需要使用 socket.io 请求此 url,以便客户端可以订阅 messages
的所有 future 更改。收藏。
当我使用 socket.io 请求这个 url 时,没有设置 session cookie 并且sails.js session 是空的。因此,我无法检查服务器端的用户权限。
我知道套接字请求不是 HTTP 请求。他们自己不提供任何 cookie。
有什么简单的解决方法吗?
最佳答案
我找到了一种方法来获取在 socket.io 握手时设置的 session 对象。
在您的 Controller 中,您应该执行以下操作:
myControllerAction: function(req, res) {
var session = req.session;
if (req.isSocket) {
var handshake = req.socket.manager.handshaken[req.socket.id];
if (handshake) {
session = handshake.session;
}
}
//session now contains proper session object
}
req.session
!否则,您将在尝试响应客户端时遇到错误(原始
req.session
仍以某种方式使用)。相反,将其另存为
req.socketSession
或类似的东西。
关于session - 套接字请求的 Sails.js 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18246681/
根据文档,sails lift 将始终尝试使用本地安装的 Sails 模块(即 app/node_modules/sails)运行您的应用。 但是当我运行 sails console 时,我可以从堆栈
在我的sails.js我正在尝试关闭服务和模型的默认全局变量,如下所示: sails: true, services: false, models: false 作为一种风格偏好,我想明确使用 sai
我正在用 sails 框架编写一些 api。我有一个 api 需要从两个表中获取数据,所以我想使用这样的 sql 查询: select * from table1 union select * fro
根据 this , 在创建与其他记录关联的新记录时,响应应包含填充的关联记录。 POST /pony { "name": "Pinkie Pie", "pet": 1 } 响应应该是这样的 {
我已经开始从事一个项目,并决定使用 Sails.js 构建 API。我以前没有使用 Sails 的经验,这就是为什么我需要您的推荐。 我需要为许多模型实现行级权限。例如,假设我只想允许对该记录的创建者
我在一个使用 sail.js 的项目中工作,一切正常,但每次我修改某些内容时,我都必须重新启动“sails lift”。是否没有一个选项可以让我在服务器在线时工作并查看我所做的所有更改? 据了解,问题
当sails.js 模块上的电子邮件验证规则失败时,服务器正在崩溃。 这是我的模块的片段: //用户的电子邮件地址 email: { type: 'string', email: true,
我正在尝试在客户端使用 Sails.js 和 sails.io.js 创建一对一聊天。 我可以让 io.socket.get 和 io.socket.post 工作,但是我无法从任何一个 收到任何东西
我刚刚开始使用 Sails.js,它是一个了不起的框架。但是我遇到了一些情况,我找不到谷歌的解决方案,所以我来这里寻求帮助。 我有一个 Controller 连接到另一个远程服务,该服务使用非常旧的
我已经使用 npm install sails -g 成功安装了 sails我运行的是 Windows 7。当我尝试运行“sails”命令时,收到错误消息“找不到命令”。然后我将相应的 bin 文件夹
我正在使用带有船长-s3适配器的船长来处理我的 sails 应用程序中的文件上传。 当文件正常发送时它工作正常,但是当请求中止时我收到未处理的错误消息并且 sails 崩溃。 events.js:85
像 Rails 一样,有什么方法可以向验证器添加自定义错误消息吗? 喜欢: if(this.password != this.passwordConfirmation){ this.errors
我已经使用 npm install sails -g 成功安装了 sails我运行的是 Windows 7。当我尝试运行“sails”命令时,收到错误消息“找不到命令”。然后我将相应的 bin 文件夹
我需要查询关联表(由 sails 创建),所以我不能使用“Model.query”,因为我没有这个表的模型。我找不到解决方案。谢谢 最佳答案 您可以使用其他模型对象,例如 User.query(sql
仅当满足某些条件时,我才需要加密密码。 beforeUpdate: function (value, cb) { User.findOne(value.id) .exec(function (er
在我的风帆应用程序中,我按如下方式编辑 config/models.js 文件以在提升应用程序时清理数据库。 migrate: 'drop', connection: 'mongodb' 但是
我将sails 升级到@^1.0.0 版本,在开发API 时,我想使用Service,但Sails 文档建议现在使用Helper。而且我并没有真正习惯于使用新的方法来识别助手、构建脚本或 Action
我试图弄清楚如何禁用 Sails.js 中模型的自动数据库迁移。 我知道你可以设置migrate: 'safe'在模型中,但是有没有办法为所有模型指定这个? 最佳答案 实际上,有办法做到这一点。 OR
我正在开始一个新项目,我想使用 AngularJS 作为前端,使用 SailsJS 作为后端。我需要为不同的客户分离数据库。因此,每个客户端都必须有自己的数据库。 我没有找到如何在帆和水线中制作这个。
我从 SailsJS 开始和 MySQL ,我的数据库中有很多表。所以,我不知道 SailsJS有一个工具可以从数据库中生成模型,比如 Database First在 Entity Framework
我是一名优秀的程序员,十分优秀!