在我的项目中,我希望服务器根据环境变量动态使用数据库DATABASE.根据此变量,我将从具有数据库名称的文件夹下加载特定于该数据库的文件.(mongodb - > server/mongodb/file.js)
我DATABASE="mongodb"使用noemon为节点服务器设置了一个环境变量(),例如当我加载我使用的数据库文件时require('./'+process.env.DATABASE+'/file').
现在我的问题是我是否可以使用环境变量配置gulp-jasmine?
现在我的所有测试都失败了,因为路径解析为./undefined/file.
可以在where子句中指定我希望列值等于数组中某些值的数据吗?
例如:
EntityQuery.from('Customers')
.where('DepartmentID','in','[3,5,6]');
Run Code Online (Sandbox Code Playgroud)
或者我应该如何有效地做到这一点,因为表中有很多条目,检索所有条目效率不高?如果我一个接一个地做它会有效吗?
我目前正在尝试将多租户系统从“自定义”身份验证和授权实施迁移到OAuth2。
多租户模型与GitHub的结构非常相似,因此我将使用它作为主要示例。假设在应用程序中有用户,存储库和组织。用户可以直接访问存储库,也可以通过其所属组织访问组织。根据他们的访问权限,用户应该对存储库和子资源(例如/ repository / issues)或组织及其子资源(/ organization / members)具有不同的权限,以管理它们的用户。与GitHub的OAuth2解决方案不同,此系统应该能够在存储库或组织之间提供不同级别的权限(GitHub通过自定义实现在不同级别上提供此权限)。
目标是保持逻辑尽可能简单,将所有内容封装在授权服务中,并尽可能多地搭载在OAuth2上。
我的方法是部署通用的OAuth2服务,并使用动态范围处理权限:
user:readuser:writerepo:readorg:readrepo:<repo_id>:issues:readrepo:<repo_id>:issues:writeorg:<org_id>:members:readorg:<org_id>:members:write这使得客户和用户的精细权限,如用户能read+ write的问题在他的回购之一,但只能read在另一个。
虽然这似乎可以解决问题,但主要的限制是能够请求范围。由于用户不知道他们有权访问的存储库和组织的ID,因此在联系授权服务器时,他们无法请求正确的作用域列表。
为了克服这个问题,我考虑了两种解决方案:
解决方案1
repo:read和发行令牌org:read从更深的角度来看,这似乎是不可行的,因为除非授权服务器将处理这种“发现”资源implicit,authorization_code否则它将不支持像这样的授予。
解决方案2
前两个步骤与第一个解决方案相同,而对于第三个步骤,用户只能发出租户范围的令牌。通过使用标识租户(/authorize?...&repo=<repo_id>)的参数扩展OAuth2,使用authorization_code授予的客户端将必须为每个租户发行令牌。在步骤1上发出的令牌将必须在授权服务器上保留用户的身份,并且当用户在租户之间切换时,无需重新进行身份验证。这种方法的缺点是,它增加了客户端集成的复杂性,并且可能以某种方式违背标准。
我正在寻找对此的第二种意见,这可能会简化问题并确保解决方案符合标准。
Azure门户上的NodeJS应用程序默认在production环境中运行(process.env.NODE_ENV正在生产).
是否有可能改变环境development?如何?
(如果重要,我将应用程序配置为Web SiteAzure上的.)
使用时可以从NodeJS应用程序内部控制字体大小console.log()吗?
我只对在运行时更改它而不是在终端设置中更改它感兴趣.