ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-长轮询服务器原理(客户端身份验证)

2019-11-05 15:35:48  阅读:219  来源: 互联网

标签:node-js security asp-net javascript long-polling


假设我有一个很长的轮询服务器,它可以正常工作-当新客户端连接到网站时(他只是以匿名身份进行连接而不进行身份验证),将发布新的GUID并将其存储在签名的cookie中,该cookie可以在两次客户端和服务器.

现在,客户端要登录并以经过身份验证的用户身份继续.问题在于长轮询服务器(node.js)和Web框架(ASP.NET)正在作为独立系统运行.我可以使用特定于ASP.NET(MVC)的身份验证机制从Web框架的角度登录,但这不会影响长轮询服务器(在这里我仍被称为GUID家伙).我应该如何从长轮询服务器的角度安全地验证用户身份?这种情况下是否有“最佳做法”?经过身份验证的客户端应在身份验证过程之后通过其唯一密钥(例如,用邮件地址代替GUID)进一步标识.

解决方法:

我可以想象的一个薄:

>发出会话ID,或者使用ASP.net内容,或者发出额外的ID,您可能需要挂接到ASP.net身份验证才能在需要时使它无效-
>进行长时间轮询时,请确保随它一起发送cookie,以便Node.js服务器接收它.
>将GUID保存到可以从ASP和Node.js都访问的数据库中.

其余的应该很清楚,关于您可以使用的数据库,我没有任何经验,但是有相当多的数据库为Node.js提供了很多包装,尽管其中许多是未维护的或功能不完整.

您应该检查一下Node.js Wiki中的database listing,并逐一查看,不要忘了在Google上搜索它并检查问题,看看在使用它之前是否还有什么大的缺失.

哦,另一个(DBless)解决方案浮现在我的脑海:

>通过ASP.net进行身份验证
>当Node.js收到身份验证cookie时,将它们转发到一个特殊的ASP.net页面(您可以使其只能从本地主机访问),该页面仅告诉Node.js此请求是否有效(它也可以给Node.js提供一些用户数据)
>仅当请求有效时,才开始长轮询

在同一服务器上完成操作时,这几乎不会引起任何延迟.

标签:node-js,security,asp-net,javascript,long-polling
来源: https://codeday.me/bug/20191105/1995827.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有