gpt4 book ai didi

wicket - 使用 wicket auth-role 对 wicket 组件进行授权

转载 作者:行者123 更新时间:2023-12-04 22:24:37 29 4
gpt4 key购买 nike

我正在使用 wicket 1.4.9 并实现了 spring + wicket auth-role 并根据页面上的角色使用@AuthorizeInstantiation。我有多个自定义角色。

我已经按照这个链接来实现基础知识:
https://cwiki.apache.org/WICKET/spring-security-and-wicket-auth-roles.html

之后,我实现了自己的 UserDetailsS​​ervice 以从数据库中拥有自己的角色/用户。

现在,如何对具有组件(例如链接、按钮)的角色施加控制?喜欢
链接 A 只能由 SUPER_USER、DR_MANAGER 访问。 (角色来自数据库)。

我已经这样做了并且它似乎有效,但这是做到这一点的好方法吗? OrbitWebSession 是 AuthenticatedWebSession 类型。

        @Override
public boolean isVisible() {
if(OrbitWebSession.get().getRoles().hasRole("SUPER_USER")){
return true;
}
return false;
}

谢谢。

最佳答案

始终覆盖 isVisible 是一个主要的痛苦。看看 MetaDataRoleAuthorizationStrategy 吧。您使用 authorize(Component component, Action action, String roles) 和您想要允许的角色调用 Action RENDER 。这样,只要在您的 web 应用程序中注册了授权策略,无论组件是什么,它都会自动为其他角色隐藏。基本上它与 Holms 的回答相同,除了您不必对任何内容进行子类化。

关于wicket - 使用 wicket auth-role 对 wicket 组件进行授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6107245/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com