Ich versuche derzeit, die ViewAccessControl-Schnittstelle von vaadin.spring zu verwenden, wie im letzten Absatz von this Tutorial erläutert.Verwenden von ViewAccessControl in Spring und Vaadin
Aber wenn die isAccessGranted Methode Implementierung ich die folgende Fehlermeldung erhalten:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'frontPageView': Scope 'vaadin-view' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton; nested exception is java.lang.IllegalStateException: No active view
Die Deklaration der FrontPageView Klasse (Das einzige, was ich in der Methode eingeben tun, ist es, einige Vaadin ui Elemente hinzuzufügen) :
@SpringView(name = FrontPageView.NAME)
public class FrontPageView extends DashboardDesign implements View, ViewAccessControl {
@Override
public void enter(ViewChangeEvent event) {
}
}
Und meine Umsetzung der isAccessGranted Methode:
@Override
public boolean isAccessGranted(UI ui, String beanName) {
return SecurityContextHolder.getContext().getAuthentication().isAuthenticated();
}
P.S. Es ist im Grunde das gleiche Problem, das dieser Kerl vor einem Jahr hatte: How to create a secure view with Vaadin and SpringViewProvider