小编Chr*_*SFT的帖子

Socket.io命名空间和服务器不共享中间件?

我为socket.io/express app创建了一些护照认证中间件.看起来像:

io.use(function (socket, next) {
    var data = cookie.parse(socket.handshake.headers.cookie);
    var sessionID = cookieParser.signedCookie(data['connect.sid'], 'my balonga has a first name');
    sessionStore.get(sessionID, function (err, data) {
        if (err) next(err);
        socket.handshake.passport = data.passport;
        next();
    });
});
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我有一个命名空间,它似乎使用不同的套接字.这是否意味着我必须为每个命名空间重用我的中间件?

我注意到我连接到我的命名空间,它调用基本服务器的中间件,然后是命名空间,这意味着如果我在两个地方都包含中间件,我正在做我需要的操作的2倍.如果不删除基础层的中间件,我可以防止这种情况吗?这些都不是应用程序破坏者,但它会改变我的架构,我担心在某些时候我会有auth间隙.

摘要:

  • 我必须为每个命名空间重用我的中间件吗?
  • 我是否可以阻止默认命名空间中间件被调用而不删除基础层上的中间件,当它是连接到的命名空间时?

middleware node.js express socket.io socket.io-1.0

9
推荐指数
1
解决办法
889
查看次数

如何强制Azure存储帐户作为经典

我们最近使用Azure资源管理器和模板构建了基础架构和应用程序部署框架.要部署Cloud Service,首先需要设置Azure存储帐户.截至最近,这是通过运行:

Switch-AzureMode AzureResourceManager

New-AzureStorageAccount -ResourceGroupName $resourceGroupName -StorageAccountName $storageAccountName -Location $locationName -Type Standard_LRS
Run Code Online (Sandbox Code Playgroud)

这将创建New-AzureDeployment cmdlet可用于部署的存储帐户.据我所知,创建的存储帐户将是现在在UI中标记为"经典"的存储帐户.但是,对于最近的更改,现在使用上面的脚本创建的存储帐户是非经典的(V2).New-AzureDeployment无法识别此V2存储帐户,并在Powershell脚本中将其抛出:

New-AzureDeployment:ResourceNotFound:找不到存储帐户"teststorage".

如果我在UI中手动创建经典存储帐户,我可以将其用于我的部署,并且它可以正常工作.

那么可以执行以下操作之一:

  1. 通过Powershell强制将存储帐户创建为经典帐户?
  2. 指示New-AzureDeployment cmdlet通过Powershell使用V2存储帐户?

account powershell storage azure azure-storage

6
推荐指数
2
解决办法
3635
查看次数

在选定的同一区域中显示 Azure 函数时,Azure 逻辑应用不显示函数

我使用 BlobTriggerCSharp 创建了一个函数应用程序,这是函数的名称:BlobTriggerCSharp1

我想在逻辑应用程序中使用此函数,因此我创建了逻辑应用程序和选定的重复次数、提供的频率和间隔。我单击“操作”,选择“在同一区域中显示 Azure 函数”,它显示所有函数应用程序,例如“Container:FunctionappName”,但是当我单击该函数应用程序内的现有函数时,该函数应用程序不显示。有人可以帮忙解决这个问题吗?

azure azure-logic-apps azure-functions

4
推荐指数
1
解决办法
1308
查看次数

当多个路径匹配时,Express如何知道要使用哪个路由器路径?

假设有2个router.route(),例如:

router.route('/app/:id').get(funtion(req, res, next){
    console.log("id route")
});
Run Code Online (Sandbox Code Playgroud)

router.route('/app/:username').get(funtion(req, res, next){
    console.log("user route")
});
Run Code Online (Sandbox Code Playgroud)

什么时候GET /app/nsuzuki被调用,它使用哪个router.route(),为什么?

mongodb node.js express angularjs mean-stack

0
推荐指数
1
解决办法
1983
查看次数