小编Sla*_* II的帖子

如何在Sails.js应用程序中禁用或替换X-Powered-By标头

当我运行Sails.js应用程序时,它会自动为每个响应添加以下HTTP标头:X-Powered-By: "Sails <sailsjs.org>".

是否可以禁用或覆盖它?

javascript http-headers express sails.js

9
推荐指数
2
解决办法
2178
查看次数

如何使用FOSRestBundle和Symfony 2自定义异常格式?

我正在使用FOSRestBundle和Symfony 2来实现JSON格式的REST API.

我希望以特定的JSON格式返回所有API异常,如下所示:

{
    "success": false,
    "exception": {
        "exceptionClass": "SomeNastyException",
        "message": "A nasty exception occurred"
    }
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

我试图摆弄ExceptionController,但它的逻辑看起来太复杂了,不容易重载.

rest json exception symfony fosrestbundle

9
推荐指数
2
解决办法
8861
查看次数

在Angular.js中的ngModel中使用表达式

将代码提供给我的控制器:

$scope.entity = {
  firstName: 'Jack',
  lastName: 'Bauer',
  location: {
    city: 'New York'
  }
};
$scope.path = 'location.city';
Run Code Online (Sandbox Code Playgroud)

如何动态绑定ngModelentity指定的属性path

我尝试过类似的东西,但无济于事:

<input ng-model="'entity.' + path">
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ngmodel

9
推荐指数
2
解决办法
5329
查看次数

哪里放置业务逻辑是Symfony 2模型层?

我正在将我的旧代码库移到Symfony 2.2框架中.

在我的旧代码中,我的Article实体有一个方法getUrl(),它返回当前文章的URL.

在Symfony中,我必须使用路由器服务来生成这样的URL.

我无法从实体内部访问路由器,因为它是一种不好的做法,并没有真正支持框架.

我可以使用Twig helper path()从Twig模板本身调用路由器,并提供构造URL所需的所有参数(来自Article实例).但是这种方法不是很好,因为如果我决定更改URL格式规则 - 我将不得不找到所有这些调用并重写它们(不是非常).

我真的想在这里保存业务逻辑封装,而不是将所有内容都拉到视图层.

我应该如何处理这种情况?

model symfony symfony-2.2

8
推荐指数
1
解决办法
3022
查看次数

启用"记住我"时,在Symfony 2应用程序中注销用户

我正在寻找一种方法来记录用户退出Symfony 2应用程序,但无法找到正确的方法.

我试过这里描述的方法: Symfony2:如何在控制器中手动记录用户?

$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();
Run Code Online (Sandbox Code Playgroud)

当" 记住我 "被禁用时它工作正常,但是,当我启用它时,它不起作用.看起来这个cookie会再次自动重新验证用户.

remember_me:
    key:      "%secret%"
    lifetime: 31536000
    path:     /
    domain:   ~
    always_remember_me: true
Run Code Online (Sandbox Code Playgroud)

将用户退出Symfony 2应用程序的正确方法是什么?我是否需要从服务器端另外删除此cookie?

php security authentication logout symfony

8
推荐指数
2
解决办法
7213
查看次数

在 Sequelize 迁移中定义部分索引?

我现在在模型定义中使用以下索引:

{
  name: 'unique_partner_id',
  unique: true,
  fields: ['partnerId'],
  where: {
    email: {
      $ne: null
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我想使用迁移而不是同步,因此我尝试将此定义从模型移动到初始迁移文件。

有一种queryInterface.addIndex()方法,但是,我找不到任何相关文档。

那么,如何使用 定义部分索引queryInterface

database migration node.js sequelize.js

8
推荐指数
1
解决办法
1282
查看次数

我如何知道自定义表单控件何时在Angular中标记为pristine?

我的Angular应用程序中有几个自定义表单控件组件,它们实现了ControlValueAccessor界面并且运行良好.

但是,当markAsPristine()在父窗体上调用时,或直接在我的自定义控件上调用时,我需要更新它的状态:我的自定义控件实际上有内部控制,我也需要调用markAsPristine()它.

那么,我怎么知道什么时候markAsPristine()被控制?

ControlValueAccessor接口没有成员,与此相关的问题,我可以实现.

angular angular-forms

8
推荐指数
1
解决办法
4819
查看次数

当在Angular中的DI中使用从库导入的工厂函数时,AOT编译失败

我有一个Angular 6.1应用程序,它导入一些外部模块.

当我在AOT模式下编译应用程序时:

$ ng build --aot

我收到这个错误:

ERROR in ./src/app.component.ngfactory.js
Module not found: Error: Can't resolve '/home/user/project/node_modules/@acme/library/src/library/library' in '/home/user/project/src/app'
resolve '/home/user/project/node_modules/@acme/library/src/library/library' in '/home/user/project/src/app'
  using description file: /home/user/project/package.json (relative path: ./src/app)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: /home/user/project/node_modules/@acme/library/package.json (relative path: ./src/library/library)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        /home/user/project/node_modules/@acme/library/src/library/library doesn't exist
      .ts
        Field 'browser' doesn't contain a valid alias configuration
        /home/user/project/node_modules/@acme/library/src/library/library.ts doesn't exist
      .tsx
        Field 'browser' doesn't contain a valid alias configuration …
Run Code Online (Sandbox Code Playgroud)

typescript tsc angular-cli angular

8
推荐指数
1
解决办法
493
查看次数

nginx 配置以启用具有源匹配的 CORS

我尝试为 nginx使用一个非常流行的配置,它启用 CORS 并支持使用正则表达式进行源匹配。

这是我的配置:

server {
    listen 80 default_server;
    root /var/www;

    location / {
        if ($http_origin ~ '^http://(www\.)?example.com$') {
            add_header Access-Control-Allow-Origin "$http_origin";
        }

        # Handling preflight requests
        if ($request_method = OPTIONS) {
            add_header Content-Type text/plain;
            add_header Content-Length 0;
            return 204;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,此配置必须使用两个条件:一个是匹配原始域名,另一个是捕获预检请求。因此,当第二个条件匹配时,第一个条件的标头不会添加到响应中。

根据If Is Evil官方文章,这是 nginx 的预期行为。

如果If Is Evil我如何在 nginx 中启用 CORS 呢?或者也许有办法以某种方式克服这种限制?

nginx cross-domain cors preflight

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

为 Terraform Cloud 设置 Google Cloud Platform (GCP) 身份验证

如何配置 Terraform Cloud 以通过 Google Cloud Platform (GCP) 进行身份验证?

现在,我的配置如下所示:

provider "google" {
  project = "my-project-id"
  region = "europe-west3"
  zone = "europe-west3-a"
}

resource "google_storage_bucket" "my-bucket" {
  name = "my-bucket"
  location = "EUROPE-WEST3"
  force_destroy = true
  uniform_bucket_level_access = true
}
Run Code Online (Sandbox Code Playgroud)

这给我带来了一个错误:

错误:尝试加载应用程序默认凭据,因为提供程序块中既没有设置credentials也没有设置。access_token未加载凭据。要使用您的 gcloud 凭据,请运行“gcloud auth application-default login”。原始错误:谷歌:找不到默认凭据。有关详细信息,请参阅https://developers.google.com/accounts/docs/application-default-credentials 。

google-cloud-storage google-cloud-platform terraform devops terraform-provider-gcp

8
推荐指数
1
解决办法
9881
查看次数