有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java My Vaadin登录页面不会触发Chromes“保存密码”功能

我目前正在一个由Vaadin和Spring Security编写的网站上工作

当您登录到网页(例如邮件客户端等)时,您会收到“是否保存密码”提示。就我而言,这并没有发生

我已经创建了一个不会触发此事件的vaadin应用程序

我确实有一个带有动作和方法的表单,并且正确地命名了输入

我试着启用autocomplete和autocorrect=off,但似乎不起作用。有什么原因不能触发吗

其他信息:

瓦丁版本:14.1.17 springboot:最新版本

要测试的URL:https://rp.mainlevel.at

代码:

username = new TextField();
username.getElement().setAttribute("name", "username");
username.setAutocomplete(Autocomplete.USERNAME);
username.setAutocorrect(false);
username.setPlaceholder(getTranslation("login.username", langLocale));
username.addClassName(AdminPress.FORM_CONTROL);

pwfield = new PasswordField();
pwfield.getElement().setAttribute("name", "password");
pwfield.getElement().setAttribute("id", "password");
pwfield.setAutocomplete(Autocomplete.CURRENT_PASSWORD);
pwfield.setAutocorrect(false);
pwfield.setPlaceholder(getTranslation("login.placeholder.password", langLocale));
pwfield.addClassName(AdminPress.FORM_CONTROL);

共 (1) 个答案

  1. # 1 楼答案

    TextFieldPasswordField中的输入元素隐藏在这些web组件阴影DOM中,因此Chrome无法正常检测本机输入,并且不会发生自动完成。在Chrome中也有关于这个的feature request

    框架中有一个Login form component,应该与密码管理器一起使用。在Vaadin网站上还有一个detailed tutorial如何将它与Spring安全性结合使用