我为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间隙.
摘要:
我们最近使用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中手动创建经典存储帐户,我可以将其用于我的部署,并且它可以正常工作.
那么可以执行以下操作之一:
我使用 BlobTriggerCSharp 创建了一个函数应用程序,这是函数的名称:BlobTriggerCSharp1
我想在逻辑应用程序中使用此函数,因此我创建了逻辑应用程序和选定的重复次数、提供的频率和间隔。我单击“操作”,选择“在同一区域中显示 Azure 函数”,它显示所有函数应用程序,例如“Container:FunctionappName”,但是当我单击该函数应用程序内的现有函数时,该函数应用程序不显示。有人可以帮忙解决这个问题吗?
假设有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(),为什么?
azure ×2
express ×2
node.js ×2
account ×1
angularjs ×1
mean-stack ×1
middleware ×1
mongodb ×1
powershell ×1
socket.io ×1
storage ×1