小编Nan*_*ish的帖子

如何调试symfony4身份验证失败

我正在尝试按照symfony 4 文档设置传统的登录和注册表单.

使用注册表单,我似乎能够正确地将用户注册到arch linux上的mariaDB数据库中.


我正在使用symfony开发服务器.当我尝试使用注册用户登录时,我在登录页面上获取此HTML

由于系统问题,无法处理身份验证请求.

如果用户或密码不好或者我没有填写字段,我会收到同样的错误.

使用-vvv verboses启动symphony 4开发

2018-01-26T16:10:26+00:00 [info] Matched route "login".
2018-01-26T16:10:26+00:00 [info] Authentication request failed.
2018-01-26T16:10:26+00:00 [debug] Authentication failure, redirect triggered.
[Fri Jan 26 17:10:26 2018] 127.0.0.1:52250 [302]: /login
2018-01-26T16:10:26+00:00 [info] Matched route "login".
2018-01-26T16:10:26+00:00 [info] Populated the TokenStorage with an anonymous Token.
[Fri Jan 26 17:10:26 2018] 127.0.0.1:52252 [200]: /login
Run Code Online (Sandbox Code Playgroud)

使用Firefox的网络检查器,似乎登录帖子返回错误302.我不知道如何调试这个,或者如何获取更多的信息.


这是security.yaml

# config/packages/security.yaml                                                                           
security:                                                                                                 
  encoders:                                                                                               
    App\Entity\User:                                                                                      
      algorithm: bcrypt                                                                                   
  providers:                                                                                              
    our_db_provider:                                                                                      
      entity:                                                                                             
        class: App\Entity\User                                                                            
        property: username                                                                                
  firewalls:                                                                                              
    main:                                                                                                 
      provider: our_db_provider …
Run Code Online (Sandbox Code Playgroud)

php debugging symfony symfony4

6
推荐指数
2
解决办法
976
查看次数

Angular Material - 获取数据表中的行索引

我正在使用Angular Material中MatTable组件来创建动态数据表.

我需要得到一行的当前位置.我可以很容易地获得用户点击的行但我无法知道它在列表中的当前位置(这取决于排序/过滤/分页).

任何的想法?

angular-material angular-material2 angular angular5

5
推荐指数
1
解决办法
6744
查看次数

502 / 503 / 404 HTTP 错误:GKE ingress-nginx 将来自其他命名空间的流量提供给错误的服务

我在每个命名空间中都有这种路由:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    janitor/expires: ${EXPIRY_DATE}
    nginx.ingress.kubernetes.io/ssl-redirect: "false" # Set to true once SSL is set up.
spec:
  ingressClassName: nginx
  rules:
    - host: api.${KUBE_DEPLOY_HOST}
      http:
        paths:
        - pathType: Prefix
          path: /
          backend:
            service:
              name: api-js
              port:
                number: 111
Run Code Online (Sandbox Code Playgroud)

由 ingress-nginx (!= nginx-ingress) 1.2.1(与 1.5.1 相同的问题)和 Kube 1.22(或 1.23)提供服务,ingress-nginx 命名空间中的一个部署,部署中的两个副本。

当我检查日志时,我有时会发现,特别是当我在新的命名空间中部署新的入口规则时(在 ingress-nginx 重新加载事件期间和之后),我会从 ingress-nginx 控制器收到 502 / 503 / 404 HTTP 错误响应。

当我查看详细日志时,我看到:

IP - - [time] "GET API_ROUTE HTTP/1.1" 503 592 "master.frontend.url" UA 449 0.000 …
Run Code Online (Sandbox Code Playgroud)

nginx google-cloud-platform kubernetes google-kubernetes-engine

5
推荐指数
1
解决办法
273
查看次数

材料角度表多行指令

我想使用材料 Angular 2中的 mat-table 制作一个可扩展的数据表。行可以包含子行。

我的行数据是一个可以包含其他子对象的对象。

使用材料角度表组件或垫表,可以定义多个行类型并选择应用于当前迭代的一种。


但是有没有办法在同一次迭代期间生成多种类型的行?

我是否被迫将子项目添加到为 mat-tabke 提供数据的数据源中,或者可以为其提供包含子项目的项目并生成 1 行包含项目数据的行,并为每个子项目生成 1 行?


我尝试遵循此答案中的模型。

所以我在我的 component.ts 中定义了这些行

<mat-row *matRowDef="let rule; columns: ['expandedDetail']; when: isExpansionDetailRow"
                 [@detailExpand]="rule.element == expandedElement ? 'expanded' : 'collapsed'"
                 style="overflow: hidden">
        </mat-row>
        <mat-row *matRowDef="let rule; columns: ['expandedDetail']; when: isExpansionDetailRow"
                 [@detailExpand]="rule.element == expandedElement ? 'expanded' : 'collapsed'"
                 style="overflow: hidden">
        </mat-row>
Run Code Online (Sandbox Code Playgroud)

但似乎当 isExpansionDetail 为 true 并且选择第二行类型时,它会“覆盖”第一个行类型,而不会生成第一个行类型。

javascript typescript angular-material angular angular5

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

symfony 4多种形式循环树枝提交

我需要有一种 div 形式。我设法做到了这一点,但是当我提交其中一个时,它会提交全部。


我的控制器将一系列表单发送到树枝模板。

首先,我实例化所有表单:

$forms = [];
foreach ($data as $index => $something)
{
            // create form
            $formData = new FormData($data);   
            $forms[$index] = $this->createForm(MyForm::class, $formData);
}                                                                                                                                                                                                                        
Run Code Online (Sandbox Code Playgroud)

完成后,我会遍历表单来处理他们的提交:

foreach ($forms as $form)                                                                    
{
    $form->handleRequest($request);                                                          
    if ($form->isSubmitted())
    {                                                              
        if ($form->isValid())                                                                
        {
                // I do stuff
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为问题出在上面的代码中:我为生成的每个表单执行 //I do stuff 代码,而不是仅执行一个。每一份表单都会被提交,而不仅仅是点击的表单。

然后,我渲染表格:

foreach ($forms as &$form)                                                                   
{                                                                                            
    $form = $form->createView();                                                             
}
Run Code Online (Sandbox Code Playgroud)

然后发送到我从控制器渲染的树枝模板:

// render template                                                                           
return $this->render('prestations.html.twig', array(                                         
    'forms' => $forms,                                                                       
    'error' => $error                                                                        
));
Run Code Online (Sandbox Code Playgroud)

从树枝模板中,我循环遍历表单:

{% for stuff …
Run Code Online (Sandbox Code Playgroud)

php forms symfony twig symfony4

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

为什么 strlen 的 REPNE SCASB 实现可以工作?

为什么这段代码有效?

http://www.int80h.org/strlen/说字符串地址必须在EDI寄存器中才能scasb工作,但这个汇编函数似乎没有这样做。

汇编代码mystrlen

global  mystrlen
mystrlen:
        sub             ecx, ecx
        not             ecx
        sub             al, al
        cld
        repne scasb
        neg             ecx
        dec             ecx
        dec             ecx
        mov             eax, ecx
        ret
Run Code Online (Sandbox Code Playgroud)

C主:

int mystrlen(const char *);
int main()
{
    return (mystrlen("1234"));
}
Run Code Online (Sandbox Code Playgroud)

汇编:

nasm -f elf64 test.asm
gcc -c main.c
gcc main.o test.o
Run Code Online (Sandbox Code Playgroud)

输出:

./a.out
echo $?
4
Run Code Online (Sandbox Code Playgroud)

c assembly x86-64 calling-convention strlen

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

带垫表初始化的角度材料 2 分页器

我正在尝试使 angular material 2 paginator 组件与 table 组件(mat-table 指令)一起使用。

我按照 mat-table 文档添加了一个分页器,试图使他们的示例与我现有的工作 mat 表一起工作。

在 component.html 中,我有一个工作垫表和一个分页器:

<div class="example-container">
    <mat-table [dataSource]="dataSource">
    // columns and rows
    </mat-table>
    <mat-paginator #paginator
                   [pageSize]="10"
                   [pageSizeOptions]="[5, 10, 20]"
                   [showFirstLastButtons]="true">
    </mat-paginator>
</div>
Run Code Online (Sandbox Code Playgroud)

使用这个 html 的组件实现了 ngOnInit:

ngOnInit() {
    myapi.apirequest()
          .subscribe((dataResponse: any) => {
            this.dataSource = new BasicDataSource(dataResponse);
            this.dataSource.paginator = this.paginator;
            console.log(this.paginator);
          });
      });
  }
Run Code Online (Sandbox Code Playgroud)

组件使用@ViewChild 获取分页器:

@ViewChild(MatPaginator) paginator: MatPaginator;
Run Code Online (Sandbox Code Playgroud)

问题是分页器什么都不做,下一个和上一个按钮是灰色的。

console.log(this.paginator) 给出:

_changeDetectorRef: Object { _view: {…}, _viewContainerRef: null, _appRef: null } ? _displayedPageSizeOptions: Array(3) [ 5, …

javascript typescript angular-material angular angular5

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