是否有人知道是否有允许您在Java中动态授权页面的播放框架模块?
我正在使用play-authenticate / deadbolt模块(http://joscha.github.io/play-authenticate/和https://github.com/schaloner/deadbolt-2)作为身份验证/授权机制。但是,deadbolt没有关于如何实现每页或每个资源的授权的直接示例。它确实能够创建动态约束,但文档是有限的,并且不会告诉您是否可以使用模型或其他内容创建每页授权。
我正在考虑创建一个模型“页面”,它允许您动态跟踪每页的所有权限。还有更好的方法吗?
感谢。
答案 0 :(得分: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
看到更多示例