问题标签 [deadbolt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
454 浏览

playframework-2.2 - 玩 2.2.1 java + deadbolt = 未解决的依赖

我正在尝试在 Play 2.2.1 java 上安装 deadbolt ...错误在哪里?我在互联网上找到了几个讨论这个问题的线程,但没有答案解决我的问题。谁能帮我?

插件.sbt

构建.sbt

日志

0 投票
1 回答
807 浏览

java - Play Framework 使用 Deadbolt 从 2.1.x 迁移到 2.3.0

我有一个非常简单的应用程序,我想用死锁从 2.1.x 升级到 2.3.0。虽然 Deadbolt 还没有正式推出 2.3.x,但 2.2.x 的版本应该足够好(同样,这个错误发生在 2.2.x 上)。

我有一个简单的模板检查主题是否存在

然而我得到一个编译器错误

现在,这似乎指向某种路径问题,但我只是不确定如何解决它。

我的 build.sbt 有合适的解析器

并声明依赖项

)

有什么建议么?

0 投票
1 回答
276 浏览

permissions - 在 deadbolt2 中的限制失败时重定向到不同的操作

使用 deadbolt2 和 play-authenticate,我可以根据用户的角色和权限定义对控制器和操作级别的限制。如果当前用户不满足这些限制,AbstractDeadboltHandler.onAuthFailure则在配置的死栓处理程序中被调用。

现在,我想要实现的是拥有不同的用户角色(例如,trial_user、basic_user、pro_user、admin……),并且只允许一些用户调用特定的操作(换句话说:阻止其他用户调用操作。例如,不应允许 trial_user 创建新帖子)。

到目前为止,这是可行的,因为没有所需角色的用户无法调用该操作。但是,问题是:一旦不满足限制,用户就会被重定向到要求他登录的通用“身份验证失败”页面。我认为这是不正确的,因为用户实际上已经登录并且仅缺少某个角色(或具有不得执行该操作的角色)。

我如何onAuthFailure在这种情况下的方法中做出反应?如何区分“用户未登录”和“用户没有特定角色”。显然,总是要求用户登录不是正确的做法。我希望收到“您无权访问该页面”的通知。

我如何知道身份验证失败背后的具体原因?使用deadbolt2甚至可能吗?

0 投票
3 回答
213 浏览

playframework - 在 Deadbolt 的 getSubject 中处理 Future[User]

Deadbolt 中有没有办法在 MyDeadboltHandler 的 getSubject 方法中使用 Future[User] 而不会阻塞?

当前方法需要一个请求并返回一个 Option[Subject]

0 投票
1 回答
99 浏览

playframework - 测试用户是否允许使用功能(不是注释)

我想在我的控制器中测试用户的权限,但我需要在运行时更改权限的名称(有时是“projectWrite”,有时是“userWrite”......),但注释需要一个常量,所以我可以不要使用它。

我需要使用一个函数,但我不知道如何通过函数请求授权。这个怎么做 ?

0 投票
0 回答
102 浏览

java - 玩 2.3.6 deadbolt 限制用户创建的资源

是否可以将用户限制为仅由他们使用 deadbolt 创建的资源,我知道可以执行控制器方法限制和登录用户限制,但可以让用户对他们创建的资源(如照片、文档)进行 CRUD,如果是的话,你能指导我找到任何有用的链接或例子吗?

提前致谢

0 投票
1 回答
286 浏览

playframework - 使用 Deadbolt 玩 java 项目,拥有私有资产

我一直在四处寻找如何配置资产文件夹的示例,通过@routes.Assets 表示法访问它,但只有在用户通过身份验证时才返回资产。

我已经使用谷歌帐户配置了死栓并完美运行,该应用程序运行良好,但不幸的是,当我使用浏览器并记下用于应用程序部分的 Javascript 资产的直接 URL 时,它允许我下载他们没有问题。

所以,总体问题是:有没有办法配置一个只有在用户通过身份验证的情况下才能访问的资产文件夹?

非常感谢

Edit1:我现在的做法是创建一个名为 PrivateAssets 的控制器,并使用一个名为“at”的方法接收字符串路径和字符串文件参数。该方法使用@SubjectPresent 进行注释,我在那里获取文件并返回它。

0 投票
1 回答
241 浏览

spring - 无法在已实现 Spring 4.0.1 DI 的 Play 2.2.1 中配置 deadbolt-2

我将 Play 2.2.1 与 Spring 4.0.1 一起用于 DI。我正在使用 deadbolt-java 版本 2.2-RC1 进行授权。每当我访问使用 Deadbolt 注释注释的任何请求处理程序时,例如:@SubjectPresent(handler = BaseDeadboltHandler.class) 我看到由 Deadbolt 生成的异常:

这可能是因为 Spring 正在尝试使用它的 bean 容器来管理 deadbolt 类。这可以避免吗?有没有一种方法可以告诉 Spring 不要为 deadbolt 注释寻找 bean?

0 投票
0 回答
1097 浏览

playframework - Scala Play Web 应用程序使用 SAML 2.0 的 SSO

我正在构建一个 scala play web 应用程序,我需要使用支持 SAML v2.0 的 IdP 构建 SSO 功能。除了 SSO,我还需要基于从 IdP 接收到的角色作为 Authentication Assertion 消息的属性在应用程序中构建授权机制。

我是 SAML 和 SSO 领域的新手。基于对 Play scala 中 SAML 和可用模块选项的一些快速了解,我看到了以下与 scala play web 应用程序一起使用的选项,

  • Play-pac4J(用于身份验证和授权)
  • play2-auth(用于身份验证和授权)
  • Play-pac4J(用于认证)+ Deadbolt(用于授权)

如果有人有经验,请建议我在 scala play web 应用程序中为 SSO 和授权构建安全且快速的解决方案的最佳选择。

0 投票
2 回答
1978 浏览

maven - 将 Keycloak 集成到 Play2 项目中

我想将 Keycloak 身份验证集成到 Play2 项目中。这是我在此之前所做的:

  • 我下载了 Keycloak:keycloak-1.6.1.Final.zip,解压缩,运行它并通过创建测试领域和一些角色进行设置
  • 我下载、配置并运行了示例 js-console ( https://github.com/keycloak/keycloak/tree/master/examples/js-console )
  • 我能够创建一个用户并使用 js 控制台登录。用户按预期显示在 keycloak 管理员中
  • 现在我也想保护我的后端,这是一个带有 maven 构建的 Play2 项目(使用 play2-maven-plugin:https ://code.google.com/p/play2-maven-plugin/ )
  • 后端发布一个 REST API,这些调用只需要对拥有多个角色的经过身份验证的用户可用。

在此之前,我无法找到解决方案来做到这一点。我遇到了 Deadbolt,它可以声明式地表达需要应用于用户和角色的限制,但我找不到 keycloak 与 Play2 一起使用的适配器。

有没有人做过类似的事情?我想一个解决方案是通过配置然后调用核心 Keycloak 方法来创建一个自定义适配器。

有人对创建这个“Keycloak Standalone Adapter”有什么想法吗?