有没有人知道是否有play框架模块允许您在Java中动态授权页面?
我使用play身份验证/死栓模块(http://joscha.github.io/play-authenticate/和https://github.com/schaloner/deadbolt-2)作为身份验证/授权机制。但是,对于如何实现每个页面或资源的授权,死栓并没有一个直接的示例。它确实能够创建动态约束,但文档是有限的,并且不告诉您是否可以使用模型或其他方法创建每个页面的授权。
我正在考虑创建一个模型" page“,它允许您动态跟踪每个页面的所有权限。有更好的办法吗?
谢谢。
发布于 2013-12-03 07:50:11
您可以通过将页面内容包装在动态标记中,从而在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上看到更多的示例。
https://stackoverflow.com/questions/20054537
复制相似问题