问题标签 [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 回答
206 浏览

java - Deadbolt 2 和 Play 2.4.x:不可访问页面上的空指针异常

我正在尝试使用 Deadbolt 2 在 Play Framework 2.4.x 中实现一个简单的认证系统。

我遵循了 Chaloner 编写的本指南,并实现了我的 deadbolt 处理程序,如您在此处看到的:

我的主要控制器是这样的:

当我尝试访问 action 呈现的页面时出现问题denyAccess。在这种情况下,我在页面上得到一个 NullPointerException,没有我可以读取的堆栈跟踪,如下图所示。

在此处输入图像描述

即使我尝试访问控制器拒绝访问,似乎也从未调用过 onAuthFailure 方法。

你可以在我的 github 页面上看到完整的项目,它很短,我认为它可以帮助你理解问题。

谢谢您的帮助。

0 投票
2 回答
1522 浏览

playframework - 从 play 2.4 版本升级到 play 2.5.0 后库依赖项之间的不兼容性

我最近将我的项目从 play framework 2.4.0 升级到 2.5.0,当我构建它时,我遇到了很多库不兼容问题,我不确定如何解决它。谁能知道我们如何解决这些问题。

我只是分享示例,因为列表很大:

我注意到以上所有警告都来了,因为我使用 deadbolt2 库版本:

如果我删除上述依赖项,那么所有警告都会消失。没有可用于 deadbolt2 的其他最新版本。不知道我现在应该做什么。请建议。

0 投票
1 回答
139 浏览

deadbolt - Deadbolt 2.5.0,无法实例化扩展 AbstractDeadboltHandler 的自定义 SubjectPresentHandler

我正在使用 deadbolt 2.5.0,并且我创建了自定义 SubjectPresentHandler,如下所示:

而且,我还有:

现在我在这里面临的问题是我无法使用其默认构造函数实例化 SubjectPresentHandler。我收到错误消息:“构造函数 SubjectPresentHandler 未定义”。现在,当我在 SubjectPresentHandler 中添加默认构造函数时,如下所示:

我收到一个错误:构造函数 AbstractDeadboltHandler 未定义。如果我尝试删除 SubjectPresentHandler 中的参数化构造函数,则会收到错误消息

我不确定如何解决此问题,因此寻求有关此问题的解决方案。

0 投票
0 回答
208 浏览

scala - 锁舌与轮廓的集成

我正在尝试使用剪影进行身份验证,使用 deadbolt-2 进行授权。

我找不到任何关于如何做到这一点的资源。

关于如何将两者结合在一个动作中的任何想法?

以及如何实现具有轮廓标识的 deadbolt2 getSubject?

0 投票
1 回答
81 浏览

java - 死锁玩java第一次登录修改密码

我有 4 个组:admin,service,user,guest,admin 是在数据库中创建的,第一次 admin 登录需要更改密码,我想重定向到表单更改密码,只有 admin 需要,我在 onAuthFailure 中设置了重定向,但是服务,用户,访客在某些操作中未进行身份验证并重定向更改密码表单,有一个好主意,请告诉我,我应该为每个角色重定向另一个链接做什么?, 我在 2 天内刚刚阅读了关于 deadbolt 的文档,我不能理解更多,对不起我的英语。

谢谢。

0 投票
2 回答
73 浏览

playframework - 在旧版 play framework 1.2 应用程序中安装 deadbolt 依赖项

我正在尝试运行一个依赖于死锁的遗留游戏框架应用程序。

有问题的依赖项在 dependencies.yml 中列出如下:

当我运行时:

播放依赖项--sync

它无法找到依赖项。

它在 Maven 中的不同位置列出:

https://mvnrepository.com/artifact/com.google.code.maven-play-plugin.org.playframework.modules.deadbolt/play-deadbolt/1.5.4

但是,我无法通过编辑dependencies.yml 以指向似乎是当前位置的方式来解决依赖关系。

0 投票
1 回答
249 浏览

playframework - 播放和门栓错误

每当我使用

@SubjectRequired@SubjectNotRequired注释:

我的代码如下所示:

在课堂实施DeadboltHandler

where is 有一个构造函数:

并在课堂上实施HandlerCache

有什么想法我搞砸了吗?

0 投票
1 回答
55 浏览

deadbolt - 如何在 Java 中定义 Deadbolt 角色?

Deadbolt 的文档确实很少。

假设我有一个标准用户。我使用的用户对象有一个方法——“getThing”

我想要一个申请“getThing”值超过 50 的角色。

我该怎么做呢?这是可能的,还是我误解了死锁?

0 投票
1 回答
353 浏览

java - Play Framework 和 Deadbolt 重定向 onAuthFailure

我已经从 Play Framework 和 DeadboltHandler 实现了我自己的 Authenticator。

使用 onUnauthorized 和 onAuthFailure 方法,我可以将未登录的用户发送到“登录页面”,而不是他们尝试访问的实际页面。

但是,我不想将用户直接发送到“登录页面”,而是想根据用户尝试访问的页面来指定应该将用户发送到哪个页面。例如,如果用户尝试访问 /settings,则应将用户重定向到登录页面。如果用户尝试访问 /player/1,则应将用户重定向到另一个页面,例如“创建用户”页面。

我希望有一些聪明的方法可以用注释来做到这一点,比如:@someannotation(redirect = route/id) 所以如果用户没有登录,我可以重定向到相关的路由,否则到标准的“登录页面”。

有人有任何想法吗?

控制器和路由方法的代码片段示例:

DeadboltHandler onAuthFailure 的代码片段示例:

0 投票
1 回答
334 浏览

java - 使用 @Pattern 批注对多个字符串验证 Java 中的控制器类

我正在使用来自 Deadbolt 的 @Pattern 注释验证一个 java 类。如果存在以下任何一个字符串,我想授予访问权限:“TM_TASK”或“TM_CHECKLIST”。现在我对如何在@Pattern 中提供这些字符串有点困惑,以便如果字符串与这两个字符串中的任何一个匹配,它就可以访问。我也愿意使用正则表达式(尽管我是新手)关于如何使用正则表达式验证它是否是这两个字符串(“TM_TASK”或“TM_CHECKLIST”)中的任何一个,而不是任何其他无效字符串。

例如