我正在尝试按照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) 我正在使用Angular Material中的MatTable组件来创建动态数据表.
我需要得到一行的当前位置.我可以很容易地获得用户点击的行但我无法知道它在列表中的当前位置(这取决于排序/过滤/分页).
任何的想法?
我在每个命名空间中都有这种路由:
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
我想使用材料 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 并且选择第二行类型时,它会“覆盖”第一个行类型,而不会生成第一个行类型。
我需要有一种 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) 为什么这段代码有效?
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) 我正在尝试使 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, …