我正在完成StrongLoop的入门指导并创建了我的示例应用程序.虽然说明书告诉我使用:
slc run .
Run Code Online (Sandbox Code Playgroud)
为了启动我的应用程序,我注意到我可以同样运行我的应用程序:
节点app.js
并得到相同的结果.显然,通过使用第二种方法,我可以将StrongLoop应用程序与诸如forever之类的工具集成在一起.
所以我的问题是,slc运行提供了哪些额外的好处?它有自动重启等功能吗?
您是否使用StrongOps成功检测了Meteor应用程序并尝试了CPU分析功能.
使用Meteor.require("强代理").profile()
代替
要求( "强剂").简档();.
适用于除分析功能以外的所有其他功能.
如何使用loopback.io mbaas设置SMTP服务器?我已经完成了所有文档,但我找不到它.如果有办法,如何在loopback配置文件中给出/定义我的smtp服务器设置.
我在我的服务器(ubuntu)上安装了loopback,然后创建了一个应用程序并使用命令slc run来运行......一切都按预期工作.现在我有一个问题,也是我面临的一个问题:
问题:我需要使用slc run命令,但在关闭终端后也要保持应用程序"活着".为此,我使用了--detach选项并且它可以工作,我想知道--detach选项是最佳实践还是我需要以不同的方式进行.
问题:在我使用--detach之后,我真的不知道如何阻止它.是否有一个命令可以用来阻止进程运行?
我成功地从数据库中生成了所有模型。然后,我通过执行“ node”来运行api。我可以看到我所有的Web服务,但是当我尝试试用一项服务时,出现500错误,提示我没有ACL表。因此,我打开了model-config.json,发现之前没有创建过4个模型(用户,AccessToken,ACL,RoleMapping和Role)。我想知道数据库中是否必须存在所有这些模型。而且您知道我必须在每个表中放置哪些属性吗?预先谢谢你。
Error:
{
"error": {
"name": "Error",
"status": 500,
"message": "ER_NO_SUCH_TABLE: Table 'sed.ACL' doesn't exist",
"code": "ER_NO_SUCH_TABLE",
"errno": 1146,
"sqlState": "42S02",
"index": 0,
"stack": "Error: ER_NO_SUCH_TABLE: Table 'sed.ACL' doesn't exist\n [...]"
}
}
Run Code Online (Sandbox Code Playgroud) 是否有规定的方法在环回中创建自定义验证器?举个例子,假设我想创建类似的东西:
Validatable.validatesRange('aProperty', {min: 0, max: 1000})
Run Code Online (Sandbox Code Playgroud)
请注意我知道:
Validatable.validates(propertyName, validFn, options)
Run Code Online (Sandbox Code Playgroud)
我使用validates()的问题是validFn无权访问这些选项.所以,我被迫硬编码这个逻辑; 并为需要此类验证的每个属性创建自定义方法.这是不可取的.
同样,我熟悉:
Model.observes('before save', hookFn)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我认为甚至无法为hookFn()声明选项.我没有这个特定的需求(至少,还没有).这只是我探索的一种途径,可以替代解决我的问题.
任何建议表示赞赏.提前致谢!
我正在一个使用Loopback作为框架的项目,其中包括用户和身份验证。我添加了生成并通过电子邮件发送的密码重置路由,并且一切似乎都正常运行。最近,我发现密码重置似乎不起作用。此处重置密码的过程是:
预期的行为是密码将在密码重置表单上更新。相反,我收到了401或500的授权错误(似乎来回了)。我注意到在发送给API的实际标头中,授权令牌与我从路由传递的内容不匹配。尝试使用LoopBackAUth.setUser进行设置无效,并且在实际发送请求之前也不会更新授权属性。
第一次添加时,我肯定会花时间测试它,但我不知道要改变什么才能打破它。我一直在遵循loopback-faq-user-management中的示例,但是在该示例中,我们有一个Angular前端而不是服务器侧视图。
编辑:
我尝试完全打开ACL,以查看是否可以更新用户对象(继承自User,但它是自己的类型)的密码(或任何属性)。尝试执行此操作时,我仍然收到401。
编辑#2:
这是我的ACL和有关如何调用此代码的示例代码。
来自模型定义的ACL
...
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW",
"property": "updateAttributes"
}
...
Run Code Online (Sandbox Code Playgroud)
auth.js
...
resetPassword: function(user) {
return MyUser.prototype$updateAttributes(user, user).$promise;
}
...
Run Code Online (Sandbox Code Playgroud) 我很欣赏Loopback.js开箱即用的所有需求,但是一个可以使用灵活性的领域是在用户创建时发送的电子邮件验证. 这个GitHub项目有助于说明这一功能 - 但是没有在SO或Google网上论坛或文档中(是的,我先在那里查看),它是否显示了如何更改电子邮件验证的实际文本.
我在"verify.ejs"中实现了完全相同的代码(如前面提到的GitHub项目中所见)...即:
<%= text %>
Run Code Online (Sandbox Code Playgroud)
现在插入的文字说:
请在网络浏览器中打开此链接以验证您的电子邮件:
我想将此用户互动称为"帐户激活" - 而不是"电子邮件验证".该项目有自己的要求,迫使我实现语义的变化.先感谢您.
我正在尝试在节点中使用xml Web服务soap客户端,我不知道如何为我的示例添加soap标头.
看看strong-soap,有一种方法,addSoapHeader(value, qname, options)但我不确定在这种情况下我需要传递什么qname和options.
我的要求,我需要发送
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aut="http://schemas.foo.com/webservices/authentication" xmlns:hot="http://foo.com/webservices/hotelv3" xmlns:hot1="http://schemas.foo.com/webservices/hotelv3">
<soapenv:Header>
<aut:AuthenticationHeader>
<aut:LoginName>foo</aut:LoginName>
<aut:Password>secret</aut:Password>
<aut:Culture>en_US</aut:Culture>
<aut:Version>7.123</aut:Version>
</aut:AuthenticationHeader>
</soapenv:Header>
<soapenv:Body>
<hot:BookHotelV3>
<!--Optional:-->
<hot:request>
<hot1:RecordLocatorId>0</hot1:RecordLocatorId>
<!--Optional:-->
<hot1:RoomsInfo>
<!--Zero or more repetitions:-->
<hot1:RoomReserveInfo>
<hot1:RoomId>123</hot1:RoomId>
<hot1:ContactPassenger>
<hot1:FirstName>Joe</hot1:FirstName>
<hot1:LastName>Doe</hot1:LastName>
</hot1:ContactPassenger>
<hot1:AdultNum>2</hot1:AdultNum>
<hot1:ChildNum>0</hot1:ChildNum>
</hot1:RoomReserveInfo>
</hot1:RoomsInfo>
<hot1:PaymentType>Obligo</hot1:PaymentType>
</hot:request>
</hot:BookHotelV3>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
值应该是:
value = { LoginName:'foo', Password:'secret', Culture:'en_US', Version:7.123 }
Run Code Online (Sandbox Code Playgroud)
那qname应该是什么?auth:AuthenticationHeader?我在哪里指定命名空间?
node-soap有一个更简单的例子吗?我应该使用强力肥皂还是节肥皂?
我只想对每个帐户计划制定一个API请求速率限制,所以可以说我们有一个用户,每个用户都有一个计划,该计划对每天可以发出的API请求有一定的限制。
所以现在,我该如何在环回3.x中制定API限制政策。
谢谢
strongloop ×10
loopbackjs ×6
node.js ×5
javascript ×2
acl ×1
angularjs ×1
express ×1
meteor ×1
node-soap ×1
rest ×1
smtp ×1
soap ×1
web-services ×1