Tag: hibernate

node.js:在获取请求成功validation后,提供文件(特别是apk)

好的,我试图在成功validationget请求时使用node.js来提供apk文件。 为此,我使用了一个表单的api调用: GET /apk/?username=user&token=a_token_goes_here 请注意,实际的身份validation是通过在请求的头部发送凭据来执行的(例如,在那里出现用户名和密码)。 身份validation成功,而且当我确认用户的个性化令牌是正确的时候,我真的可以把文件送回客户端。 为了简单起见,处理程序代码的关键部分如下所示: Peer.find({"username": request.credentials.peer.username}).exec(function (dbError, results) { if (dbError) { // handle error } if (results[0]._id.toString() === request.query.token) { var absolutePath = THE_ACTUAL_PATH_TO_THE_APK_NOT_UNDER_PUBLIC; var stat = fs.statSync(absolutePath); response.writeHead(200, { 'Content-Type': 'application/vnd.android.package-archive', 'Content-Length': stat.size }); var readStream = fs.createReadStream(absolutePath); readStream.pipe(response); return callback (null); } else { // error handling … } […]

在处理POST请求时确定谁在Node上使用basicAuth进行了身份validation

我正在使用basicAuth来validation特定地址上的POST。 在客户端,我使用了以下格式的命令: $.ajax({ type: "POST", accepts: "text/plain", url: "http://localhost:3000/somewhere", data: JSON.stringify(something), contentType: "application/json; charset=UTF-8", dataType: "json", success: function(data) { window.alert("Received back: '" + data + "'"); }, username: theUsername, password: "a password" }); 这是工作正常,在用户名中存储的用户名通过我在节点上的身份validation机制。 当用户通过身份validation时,我可以打印一个console.log语句,并查看谁已实际身份validation(我目前没有validation密码)。 但是,然后实际处理开始POST请求。 但是,在那个时候,我怎样才能找出原始请求中使用的用户名和密码呢? 我试图看看请求的标题,但我没有看到任何东西。

将实时组件集成到REST后端

我正在实施一项可通过networking和移动客户端访问的产品,并正在进行深入的研究,以确保在我开始之前select了一套好的工具。 对于前端,我使用的是AngularJS(Angularjs + angular-ui在web上,离子+ cordova在手机上),而且因为我希望有一个后台服务于所有types的客户端,所以我计划实现一个RESTful服务接受并返回JSON数据)。 我倾向于使用Mongo,Node和Express来创build这个RESTful API,但是我很乐意接受这方面的build议。 但是现在对我来说的关键是:应用程序的某些部分(包括例如实时聊天/消息部分)需要是实时的。 我知道用于实现实时Web服务(webhooks,websocket,长轮询等)的各种技术和协议,以及实现它们的库和框架,并展示了这些function(SockJS,Socket.io等)和我想明确的是,我不是问那些“什么是最好的框架”types的问题。 我的问题是关于并行实现这两种服务的正确方法。 我是否应该与其他应用程序分开进行聊天? 还是有一个干净的方法来将这两种不同的协议集成到同一个应用程序中?