Kas*_*rer 8 query-parameters vaadin vaadin-flow
我有一个LoginView,我基本上从面包店入门项目复制.
当我运行面包店应用程序并尝试使用错误的凭据登录时,会出现另一个带有错误消息的div.
但是,此错误消息div不会出现在我的视图中.因为我已经适应了模板,我们的企业设计的,但我记得,这个问题已经存在的两个文件时LoginView.java,并login-view.html仍然从面包房应用程序的精确副本.我仔细检查过.error不只是被我自己的css隐藏 - 在DOM中不存在div.error.
访问时调试LoginView /login?error(访问login?error=true是相同的)表明它无法识别任何queryParameters! - >为什么?
我的(Spring)安全配置在登录方面也是一样的:
.and()
.formLogin()
.loginPage(("/login")).permitAll()
.loginProcessingUrl("/login")
.failureUrl("/login?error")
Run Code Online (Sandbox Code Playgroud)
编辑:根据评论中的要求,我将添加模板的相关部分.但是,错误是100%不在模板中 - 正如我在调试中看到的那样,错误发生LoginView.java在afterNavigation方法中.
<dom-module id="login-view">
<template>
<style include="shared-styles">
.....
</style>
.....
<template is="dom-if" if="[[error]]">
<div class="error">
<iron-icon icon="vaadin:exclamation-circle-o" class="error__icon"></iron-icon>
<p class="error__text">
Der Benutzername und/oder das Passwort stimmt nicht. Bitte überprüfe deine Angaben und versuche es erneut.
</p>
</div>
</template>
....
</template>
<script>
class LoginView extends Polymer.GestureEventListeners(Polymer.Element) {
static get is() {
return 'login-view';
}
static get properties() {
return {
error: {
type: Boolean,
value: false
}
};
}
......
}
window.customElements.define(LoginView.is, LoginView);
</script>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
虽然这个问题很老了,但这个问题似乎与自由服务器有某种关系。在这种情况下,可能有一些东西阻止(?)使用?error查询参数,因为相同的代码可以在其他服务器上运行。
如果问题仍然存在并且可以在可共享的项目中重现,您应该向vaadin/spring存储库创建一个问题。该LoginView实现不应再基于 a 进行PolymerTemplate,因为可以使用服务器端 Java 集成,例如组件LoginOverlay。同样从 Vaadin 20 开始,有一个 Spring 安全配置类VaadinWebSecurityConfigurerAdapter,它提供了使用 Vaadin 应用程序设置 Spring 安全性的帮助程序。文档中有更多详细信息。