小编Jah*_*hel的帖子

Angular2:从给定文件夹动态加载模块

app
 |-plugins
       |-plugin1
           |-config.json
           |-plugin1.module.ts
           |-plugin1.component.ts

       |-plugin2
           |-config.json
           |-plugin2.module.ts
           |-plugin2.component.ts
Run Code Online (Sandbox Code Playgroud)

如上所示,我有"app/plugins"文件夹,其中包含插件.每个插件将包含一个"config.json"文件,它将告诉一些配置,包括 -

{
   path: "feature1",
   moduleFile: "feature1.module",
   moduleClassName: "Feature1Module"
}
Run Code Online (Sandbox Code Playgroud)

所以我想要的是,在应用程序引导之前,它将扫描"app/plugins"文件夹并加载所有插件配置,并懒惰地注册所有模块路由.对于上面的例子,路线将是

{
     path: "feature1",
     loadChildren: "app/plugins/plugin1/plugin1.module#Plugin1Module"
}
Run Code Online (Sandbox Code Playgroud)

这样,我们可以将新插件放入插件文件夹并刷新应用程序,我们新删除的插件已启动并运行.

谁知道我怎么能做到这一点?

注意:我在angular2最新(2.1.0)

typescript angular2-routing angular

22
推荐指数
1
解决办法
1万
查看次数

JSON Web令牌到期

在大多数JWT(JSON Web Token)教程(例如:this and this)中,一旦经过验证,您可以使用传入令牌获取客户端信息,而无需从DB验证它.

我的问题是,如何维护无效的用户情况呢?我的意思是,假设一个客户端只有一个JWT令牌,它在一周内到期.但由于非常具体的原因,我们可以说我们决定使用户无效,并且不希望用户访问我们的API.但该用户仍然有一个有效的令牌,用户可以访问该API.

当然,如果我们为每个请求进行数据库往返,那么我们可以验证该帐户是有效还是无效.我的问题是,对于长寿代币来说,处理这种情况的最佳方法是什么.

提前致谢.

security oauth spring-security oauth-2.0 jwt

16
推荐指数
2
解决办法
2万
查看次数

Docker nginx代理到主机

简短的介绍:

Nginx在docker上运行,如何配置nginx以便它将调用转发给主机.

详细描述:

我们有一个Web应用程序与几个后端通信(让我们说rest1,rest2和rest3).我们负责rest1.

让我们考虑一下,我rest1在我的电脑上手动启动并在2345端口上运行.我希望nginx(在docker中运行)将所有调用重定向rest1到我自己的运行实例(注意,实例在主机上运行,​​而不是任何容器,而不是在docker中).对于rest2rest3其他一些docker节点或者可能是其他一些服务器(谁在乎).

我在寻找的是:

  1. docker-compose.yml 配置(如果需要).
  2. nginx配置.

提前致谢.

nginx docker docker-compose

11
推荐指数
3
解决办法
6357
查看次数

环回模型CURRENT_TIMESTAMP

我有这样的模特 -

{
  "name": "MakeCallTestConfiguration",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "id": {
      "type": "number",
      "id": true,
      "generated": true
    },
    "destination": {
      "type": "string",
      "required": true
    },
    "clientId": {
      "type": "number",
      "required": true
    },
    "logTime":{
      "type" : "date",
    }
  },
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": []
}
Run Code Online (Sandbox Code Playgroud)

对于"logTime",如何自动生成时间戳?我的意思是

"TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"

strongloop loopbackjs

10
推荐指数
3
解决办法
8789
查看次数

以太坊交易给出错误“无效发件人”

这就是我的合同的样子 -

pragma solidity >=0.4.25 <0.8.0;


contract Calculator {
    uint public result;

    event Added(address caller, uint a, uint b, uint res);

    constructor() public {
        result = 777;
    }

    function add(uint a, uint b) public returns (uint, address) {
        result = a + b;
        emit Added(msg.sender, a, b, result);
        return (result, msg.sender);
    }
}
Run Code Online (Sandbox Code Playgroud)

上述合约部署在 Ropsten 测试网上。我正在尝试add(...)通过事务调用该函数。我的代码看起来像这样 -

const accountAddress = rtUtil.getAccountAddress();
const accountPk = Buffer.from(rtUtil.getAccountAddressPk(), "hex");
const contract = await rtUtil.getCalculatorContract();
const data = contract.methods.add(3, 74).encodeABI();

const web3 …
Run Code Online (Sandbox Code Playgroud)

ethereum solidity web3js

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

来自Android的Loopback自定义方法调用

我正在寻找可以从Android调用loopback的自定义方法的示例.为了解释更多,假设我在服务器端有一个名为"greet(name)"的方法,它将迎接某人.我想从Android调用它.任何例子,或链接都可以.

提前致谢.

Jahid

android strongloop loopbackjs

3
推荐指数
1
解决办法
1502
查看次数

document.querySelector vs Polymer.dom(this.$).querySelector

下面给出的代码,做的document.querySelector('createButton')Polymer.dom(this.$).querySelector('createButton')应该返回相同的元素?

如果是这样,哪一个是最佳做法?不是第一种情况我们在整个dom树上搜索(我的意思是包括主机/根)?在第二个我们正在搜索这个元素的dom树?

这些都可以在任何时候起作用吗?因为我相信我遇到了一种情况,所以第二种情况就在内部工作ready(我的意思是当触发Web组件就绪事件时).

<dom-module id="bortini-tv-create">
    <template>
        <form>
            <paper-input label="Name" value="{{tv.name}}"></paper-input>
            <paper-input label="Logo" value="{{tv.logo}}"></paper-input>
            <paper-input label="Address" value="{{tv.address}}"></paper-input>
            <paper-input label="Web site" value="{{tv.webSite}}"></paper-input>
            <paper-input label="Registration number" value="{{tv.regNumber}}"></paper-input>
            <br/>
            <br/>
            <paper-button id="createButton" raised on-tap="handleTvCreate">
                <iron-icon icon="redeem"></iron-icon>
                Add
            </paper-button>
            <paper-button id="cancelButton" raised on-tap="handleCancelTvCreate">
                <iron-icon icon="cancel"></iron-icon>
                Cancel
            </paper-button>
        </form>

        <iron-ajax
                id="ironAjax"
                url="/api/tv"
                content-type="application/json"
                handle-as="json"
                method="POST">
        </iron-ajax>

        <paper-toast id="toast"
                     duration="3000"
                     text="TV {{tv.name}} has been created">
        </paper-toast>
    </template>
</dom-module>
Run Code Online (Sandbox Code Playgroud)

polymer polymer-1.0

2
推荐指数
1
解决办法
8016
查看次数

嵌套铁页(Polymer1.0)

<iron-pages attr-for-selected="data-route" selected="{{route}}">
    <section data-route="home">
        <paper-material elevation="1">
            <bortini-home></bortini-home>
        </paper-material>
    </section>

    <section data-route="tv">
        <paper-material elevation="1">
            <iron-pages attr-for-selected="data-route" selected="{{route}}">
                <section data-route="tvList">
                    <paper-material elevation="1">TV list</paper-material>
                </section>
                <section data-route="tvAdd">
                    <paper-material elevation="1">TV Add</paper-material>
                </section>
                <section data-route="tvEdit">
                    <paper-material elevation="1">TV edit</paper-material>
                </section>
                <section data-route="tvView">
                    <paper-material elevation="1">TV details</paper-material>
                </section>
            </iron-pages>
        </paper-material>
    </section>

    <section data-route="users">
        <paper-material elevation="1">
            <h2 class="paper-font-display2">Users</h2>

            <p>This is the users section</p>
            <a href="/users/Rob">Rob</a>
        </paper-material>
    </section>

    <section data-route="user-info">
        <paper-material elevation="1">
            <h2 class="paper-font-display2">
                User:<span>{{params.name}}</span>
            </h2>

            <div>This is <span>{{params.name}}</span>'s section</div>
        </paper-material>
    </section>

    <section data-route="contact">
        <paper-material elevation="1">
            <h2 class="paper-font-display2">Contact</h2>

            <p>This …
Run Code Online (Sandbox Code Playgroud)

polymer polymer-1.0

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