如何使用Vaadin和SpringViewProvider创建安全视图

时间:2015-04-07 00:45:51

标签: java spring vaadin

有关于Vaadin III - Views and Navigation with Vaadin Spring

的教程

如果我想使用Apache Shiro。我应该如何使用ViewAccessControl?

@SpringComponent
@SpringView(name = SecuredView.VIEW_NAME)
public class SecuredView extends VerticalLayout implements View, ViewAccessControl {

    public static final String VIEW_NAME = "view";

    @PostConstruct
    void init() {
        addComponent(new Label("This is a secured view scoped view"));
    }
    @Override
    public boolean isAccessGranted(UI ui, String string) {
        return true;
    }
}

我得到例外:

org.springframework.beans.factory.BeanCreationException:创建名称为' securedView':Scope' vaadin-view'当前线程不活动;考虑为这个bean定义一个范围代理,如果你想从一个单例引用它;嵌套异常是java.lang.IllegalStateException:没有活动视图

1 个答案:

答案 0 :(得分:0)

问题是你正试图在狭窄的环境中注入bean。 例如SpringUI:UIScope => SpringView:ViewScope 尝试看一下“内部”注释,它们已经带有SpringComponent 干杯