首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play Framework授权Java

Play Framework授权Java
EN

Stack Overflow用户
提问于 2013-11-18 17:59:58
回答 1查看 1.1K关注 0票数 0

有没有人知道是否有play框架模块允许您在Java中动态授权页面?

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

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

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-03 07:50:11

您可以通过将页面内容包装在动态标记中,从而在Deadbolt中完成此操作。指定给标记的名称映射到一个DynamicResourceHandler,然后它可以在DB中进行查找,以查看当前用户是否能够访问该页面。

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

代码语言:javascript
复制
@(handler: my.app.MyDynamicResourceHandler)

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

处理程序的isAllowed方法将按照

代码语言:javascript
复制
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上看到更多的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20054537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档