gpt4 book ai didi

java - Deadbolt - Play Framework - 如何检查 Controller 中带有参数的@RestrictedResource?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:07 24 4
gpt4 key购买 nike

使用 Deadbolt 的模块,我们可以在 View 中检查带有资源名称和参数的 restrictedResource。

例如在我看来,我有它,而且效果很好:

#{deadbolt.restrictedResource resourceKeys:['Domain'] , resourceParameters:['domainid':domain.id]}
<li><a href="@{Admin.showDomain(domain.id)}">${domain.title}</a></li>
#{/deadbolt.restrictedResource}

但在我的 Controller 中,我只能检查资源名称,但我找不到在传递域 ID 的 RestrictedResourcesHandler 中检查它的方法。

我正在寻找一种解决方案来做类似的事情:

@RestrictedResource(name = {"Domain"}, params = {domainid})
public static void showDomain(String domainid)
{
}

提前致谢

最佳答案

不可能在注解中包含动态信息,但您可以使用参数来定义请求中传入值的名称。但是,目前此信息并未传递到处理程序中,因为它需要一个映射。虽然您可以从 restrictedResource 标记传入一个参数映射,但您不能从注释中执行此操作,因此会将一个空映射传递到处理程序中。

这里最好的方法是从请求对象中提取一个众所周知的参数名称。我需要重新考虑在不破坏向后兼容性的情况下执行此操作的最佳方法。

史蒂夫(Deadbolt 的作者)

关于java - Deadbolt - Play Framework - 如何检查 Controller 中带有参数的@RestrictedResource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628802/

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