0

有人知道是否有允许您在 Java 中动态授权页面的播放框架模块吗?

我正在使用 play-authenticate/deadbolt 模块(http://joscha.github.io/play-authenticate/https://github.com/schaloner/deadbolt-2)进行身份验证/授权机制。但是,deadbolt 没有关于如何实现每个页面或资源的授权的直接示例。它确实具有创建动态约束的能力,但文档是有限的,并且不会告诉您是否可以使用模型或其他东西创建每页授权。

我正在考虑创建一个模型“页面”,它允许您动态跟踪每个页面的所有权限。有没有更好的办法 ?

谢谢。

4

1 回答 1

2

您可以在 Deadbolt 中通过将页面内容包装在动态标记中来执行此操作。赋予标签的名称映射到 DynamicResourceHandler,然后它可以在 DB 中查找以查看当前用户是否有权访问该页面。

例如,您的视图将如下所示:

@(handler: my.app.MyDynamicResourceHandler)

@dynamic("handlerName", "pageKey", handler) {
  Your page content goes here
}

并且处理程序的 isAllowed 方法将按照以下方式实现

public boolean isAllowed(String name,
                         String meta,
                         DeadboltHandler deadboltHandler,
                         Http.Context context)
{
    Subject subject = deadboltHandler.getSubject();
    result = // check your user's access to the page key (provided as the meta argument)
    return result;
}

目前正在改进文档,同时您可以在http://deadbolt-2-java.herokuapp.com/#template-dynamic看到更多示例

于 2013-12-03T07:50:11.930 回答