Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >SPA中的公共和专用socket.io连接

SPA中的公共和专用socket.io连接
EN

Stack Overflow用户
提问于 2014-06-02 06:14:58
回答 1查看 469关注 0票数 1

所以我有一个webapp,它有两种类型的用户。尚未进行身份验证的公共用户和已登录并对自己进行身份验证的私人用户。我在单页应用程序中使用基于令牌的身份验证,页面初始加载后没有页面刷新。因此,用户第一次访问站点时未经过身份验证,因此没有可用的令牌。然后,他进行身份验证,这将向他返回一个令牌,该令牌可用于检查node.js是否在服务器端对他进行了身份验证。现在,我还有一些从node.js发送到客户端的实时消息。将有两种类型的消息。我需要向公共和私有客户端发送公共消息,并且在客户端进行身份验证之后,我还需要能够向经过身份验证的用户发送私有消息(例如,当他的帐户余额在数据库中发生变化时,我希望向私有客户端发送通知)。这些私人消息应该受到保护。

现在,我有点困惑于什么是实现这一目标的最佳实践。

在单页面应用程序中同时提供公共和私有socket.io的最佳方式是什么?

我在客户端使用angular.js,但这可能并不重要(使用https://github.com/btford/angular-socket-io)

如果你能帮我指出正确的方向,我将非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-06-02 08:34:09

Socket.io提供了一些工具,如房间或名称空间来提供帮助。

在您的例子中,我认为最好的解决方案是拥有两个名称空间。一个用于未登录用户,另一个用于已登录用户。

仅当需要时,才能在一个命名空间上使用授权。

然后,如果需要,您可以在名称空间中进行广播。

代码语言:javascript
代码运行次数:0
复制
io.of('/user').on('connection', function (socket) {
     //Manage socket
}

io.of('/operator').authorization(function (handshakeData, callback) {
    if(isAuthorized){
        callback(null,true);
    }else{
        callback(null,false);
    }
}).on('connection', function (socket) {
    //Manage the socket
}

io.of('/operator').emit('msg', { text:text});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23988291

复制
相关文章
layui数据表格
https://www.layui.com/doc/modules/table.html
阿超
2022/08/17
1.3K0
layui数据表格
LayUI之旅-数据表格
layui的数据表格是使用频率非常高的组件,在入门篇,我们已经大致了了解了数据表格的方法级渲染,接下来我们深入研究和学习layui-table组件的使用方法。
Yiiven
2022/12/15
4.5K0
Layui 数据表格重载
表格重载可用于刷新表格,筛选表格数据,通过容器的 实例 或 ID 进行表格重载 1. 数据表格容器 <!-- 数据表格容器 --> 2. 使用 数据表格容器的实例 进行表格重载 // 方法渲染 返回当前容器的实例(对象) 3. 使用 数据表格容器的ID 进行表格重载 // 利用容器的ID重载表格
很酷的站长
2023/02/16
7720
Layui 数据表格重载
MySQL数据表格导入导出
结语:数据的具体导入导出格式大家可以自己尝试一下。但个人建议涉及格式转换的话尽量先用其他工具,为防止出错还是尽量只转换纯文本列数据(无特殊格式)。
云海谷天
2022/08/09
3.3K0
Layui数据表格的动态加载
Layui是一个很好的前端框架,很多人都会用到,layui的数据表格这个就是从数据库查询出来的数据渲染到表格上。
PHY_68
2020/10/28
2.8K0
Layui数据表格的动态加载
vue导出excel数据表格功能
前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来。
小周sir
2019/09/23
1.7K0
vue导出excel数据表格功能
前端|layui后台管理—table 数据表格
layui是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用,非常适合界面的快速开发。layui区别于那些基于MVVM底层的UI框架,不需要各种前端工具的复杂配置,只需面对浏览器本身。
算法与编程之美
2020/05/29
2.2K0
前端|layui后台管理—table 数据表格
Layui数据表格templet的数据无法合计
在使用layui数据表格的时候,有一个列是使用templet,依据其他两个列数据计算得到。
宣言言言
2019/12/15
2.4K0
layui数据表格checkbox设置部分不可选
在layui数据表格中设置了字段为type:checkbox 但是想要实现部分不显示,不可选的功能。
宣言言言
2019/12/17
14K0
使用LayUI操作数据表格「建议收藏」
此时点击查询按钮,会将keyword这个关键字传到后端,接下来就是自己处理查询关键字业务了。
全栈程序员站长
2022/09/20
2.4K0
使用LayUI操作数据表格「建议收藏」
商城项目回顾整理(二)easyUi数据表格使用
后台主页: 商品的数据表格展示 引入用户表数据表格展示 引入日志表数据表格展示 引入订单表数据表格展示 后台主页代码: 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" 3 import="com.hanqi.model.Log,java.net.UnknownHostException,java.net.InetAddress,java.util.*,
二十三年蝉
2018/02/28
1.3K0
layui数据表格自定义每页条数limit设置
table.render({ elem: '#table', url: 'userCenter/userlist', where: { access_token: config.getToken().access_token }, page: true, limits: [100,1000, 2000, 5000], limit: 1000, //每页默认显示的数量 cols: [[ {checkbox: true}, {type: 'number
似水的流年
2020/10/27
2.3K0
vue09动态树+数据表格+分页模糊查
14天阅读挑战赛 努力是为了不平庸~ 目录 1. 准备工作  2. 动态树 2.1 在配置请求路径 2.2 使用动态数据构建导航菜单 2.2.1 通过接口获取数据  2.2.3 通过后台获取的数据构建菜单导航 2.3 点击菜单实现路由跳转 2.3.1 创建书本管理组件 2.3.2 配置路由 2.3.3 修改LeftAside组件 2.3.4 修改Main组件 3. 系统首页配置 4. 表格数据显示 4.1 页面布局 4.2 查询并在表格中显示数据 4.3 实现分页 ---- 1. 准备工作 创建测试数据库
天蝎座的程序媛
2022/11/18
1.2K0
vue09动态树+数据表格+分页模糊查
操作MS Execl电子表格的常用JAR包
支持Excel 95-2000的所有版本;生成Excel 2000标准格式;支持字体、数字、日期操作;能够修饰单元格属性;支持图像和图表。
BUG弄潮儿
2020/12/02
1K0
Apache ECharts 一个开源可商用的数据表格
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
KEVINGUO_CN
2020/03/17
2K0
R包reshape2 |轻松实现长、宽数据表格转换
https://seananderson.ca/2013/10/19/reshape/
生信宝典
2019/10/24
12K0
R包reshape2,轻松实现长、宽数据表格转换
本文翻译自外文博客,原文链接:https://seananderson.ca/2013/10/19/reshape/
生信宝典
2018/12/07
8.2K0
R包reshape2,轻松实现长、宽数据表格转换
Layui 数据表格方法渲染中的复杂表头简单使用示例
{ "code": 0, "msg": "用户信息", "count": 5, "data":[ { "id": 1, "name": "张三", "sex": "女", "prov": "河南", "city": "郑州市", "dist": "金水区" }, { "id": 2, "name": "李四", "sex": "男", "prov": "河南", "city": "郑州市", "dist": "金水区" }, { "id": 3, "name": "王五", "sex": "女", "prov": "河南", "city": "郑州市", "dist": "二七区" }, { "id": 4, "name": "赵六", "sex": "女", "prov": "河南", "city": "开封市", "dist": "龙亭区" }, { "id": 5, "name": "小七", "sex": "男", "prov": "河南", "city": "开封市", "dist": "鼓楼区" } ] }
很酷的站长
2023/02/16
2K0
Layui 数据表格方法渲染中的复杂表头简单使用示例
点击加载更多

相似问题

如何在Java中的gzip文件上获得时间戳

13

更改文件Linux上的更改时间戳

10

如何在Linux上向签名的PE文件添加时间戳证书?

39

在Python中设置gzip时间戳

71

保存时间戳和IP地址

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档