我创建了一个具有vaadin流和spring安全性的spring-boot应用程序。我配置了两个角色ROLE_USER
和ROLE_ADMIN
,并按如下所示授予了对页面的访问权限
.antMatchers("/user/mainmenu").access("hasAnyRole('ROLE_ADMIN', 'ROLE_USER')")
.antMatchers("/admin/trades").access("hasRole('ROLE_ADMIN')")
然后我创建了按钮并将其放在主菜单中,以便用户可以单击以下按钮导航到交易视图(只有管理员用户才可以查看页面)
tradesButton.addClickListener(buttonClickEvent -> {
getUI().ifPresent(ui -> ui.navigate("/admin/trades"));
});
但是,即使只有user
角色的用户也可以单击该页面。是什么原因呢?
(我注意到,当我将管理视图网址http://127.0.0.1:8080/admin/trades
放在地址栏上并尝试访问它时,该应用程序会阻塞。)