Java 如何防止每个url到达wicket页面

Java 如何防止每个url到达wicket页面,java,security,wicket,Java,Security,Wicket,我有一个安全问题。我有一个菜单,允许或不允许用户进入某个页面。很简单,如果不允许用户访问该页面,则指向该页面的链接将隐藏在菜单中。 但,用户仍然可以在浏览器中直接输入URL,并可以访问页面。 例如,我有CardPage,每个链接我都可以使用 setResponsePage(new CardPage()); 或 但我仍然可以通过输入这样的URL访问此页面: http://127.0.0.1:8080/my-application war/?wicket:bookmarkablePage=:com

我有一个安全问题。我有一个菜单,允许或不允许用户进入某个页面。很简单,如果不允许用户访问该页面,则指向该页面的链接将隐藏在菜单中。 但,用户仍然可以在浏览器中直接输入URL,并可以访问页面。 例如,我有CardPage,每个链接我都可以使用

setResponsePage(new CardPage());

但我仍然可以通过输入这样的URL访问此页面:

http://127.0.0.1:8080/my-application war/?wicket:bookmarkablePage=:com.my.application.CardPage

有没有办法禁止用户通过URL访问此页面? 如果你有什么需要,我可以给你更多关于这个问题的信息

更新


必须手动执行,检查每个页面是否允许查看,并重定向到NotAllowedPage。

有几种方法可以做到这一点,比如使用Spring Security或Apache Shiro。但如果您不需要任何花哨的东西,我只会使用Wicket本身提供的功能。请阅读Wicket指南(顺便说一句,这是一个优秀的参考资料)。

有几种方法可以做到这一点,比如使用Spring Security或ApacheShiro。但如果您不需要任何花哨的东西,我只会使用Wicket本身提供的功能。请阅读Wicket指南(顺便说一句,这是一个卓越参考)。

除非您使用每个用户的权限或用户的个人资料,否则我看不出您如何实现这一点。也许有办法追踪您是如何到达此页面的-每个链接或url?除非您使用每个用户的权限或用户的个人资料,我不知道你怎么能做到这一点。也许有办法追踪你是如何到达这个页面的-每个链接或url?我
会接受你的答案,因为这是唯一的答案,但它并没有解决我的问题。我已经验证了用户访问主应用程序的身份,但想禁用一些页面。手动创建,在每个页面上,构造函数检查页面是否可见,如果看不到,则重定向到notAllowedPage。url为borken@Zerlono:fixedI
I’我接受你的答案,因为这是唯一的答案,但它并没有解决我的问题。我已经验证了用户访问主应用程序的身份,但想禁用一些页面。手动创建,在每个页面上,构造函数检查页面是否可见,如果看不到,则重定向到notAllowedPage。url为borken@Zerlono:固定
setResponsePage(CardPage.class);