在我的项目中,我有 3 个实体用户、项目和任务。用户可以创建任务,但该任务将属于项目而不是他,并且一个项目中可以有多个用户。
data class User(
val userId: String,
)
data class Project(
val projectId: String,
val taskIds: List<String>,
val userIds: List<String>
)
data class Task(
val taskId: String
)
所以如果数据结构是这样的。如何使用@PreAuthorize来验证任务是否属于用户所在的项目。
@PreAuthorize("authentication.principal.userId == #???")
@GetMapping("/task/{taskId}")
public Task getTask(String taskId) {
}
您可以在 SpEl 表达式中引用路径变量(或用 @RequestBody 和 @RequestHeader 批注的变量),使用其名称并在开头加上 #
符号。
@PreAuthorize("principal.userId == #taskId")
@GetMapping("/task/{taskId}")
public Task getTask(@PathVariable String taskId) {
// ...
}
如果您有兴趣检查重新调整的 Task
实例的 id 是否与原则的 id 匹配,则需要使用 @PostAuthorized
(这@PreAuthorize
不可行,因为需要执行该方法以评估条件,即您需要首先获取对象以决定该用户是否可以访问它)。
并且要引用由 SpEl 中的方法生成的对象,请使用 returnObject
(不要在前面加上哈希符号)。
@PostAuthorize("principal.userId == returnObject.taskId")
@GetMapping("/task/{taskId}")
public Task getTask(@PathVariable String taskId) {
// ...
}
我是一个新的论坛和Appium/Android自动化,我需要帮助,以验证对象是否存在我的应用程序之前,我采取下一个行动。 信息:[BOOTSTRAP][info]返回结果:{“value”:“未找到元素”,“status”:7} 信息:将命令推送到appium工作队列:[“find”,{“strategy”:“name”,“selector”:“John Doe”,“context”:“”,“mu
例如,在UserRepository对象(用@Repository(“UserRepository”)注释)中调用save(User entity)(CrudRepository implementation)方法的UserService对象之后,如何验证该对象确实被保存并且没有问题。 几乎所有的教程都倾向于忽略这种情况,并使服务类中的save(User User)方法无效。
我试图比较两个大的JavaScript对象,每个对象大约有200个键,键是无序的,每个JavaScript对象的值都不同,但我只关心键,如果它们都有相同的键集,那么即使它们的顺序不同,函数也会返回true 我尝试了下面的代码但没有工作 例子:
问题内容: 我只是写了这个单元测试: 输出为: 的图案是与是使用把字符串日期日期对象的方法的库。 为什么des.java.util.Date对象验证日期有效性? 问题答案: 您需要进行设置,以使SimpleDateFormat严格验证您的输入。 您可以参考setLenient文档以进一步了解。根据定义,
问题内容: 我需要进行以下测试,以验证是否已调用Person类的所有getter。到目前为止,我已经使用了Mockito的verify()来确保每个getter都被调用。有没有办法通过反思做到这一点?可能是将新的吸气剂添加到Person类的情况,但是测试会错过这一点。 问题答案: 通常,不要嘲笑被测类。如果您的测试是针对Person的,则您永远都不会看到它,因为这很明显地表明您正在测试模拟框架而不
我正在客户端使用带有标准Facebook登录按钮的Facebook Javascript SDK。当用户单击按钮时,我会从Facebook获得用户id。稍后,我将从服务器端使用Facebook PHP SDK。我想检查用户id是否是真实的用户id。我搜索了一些资源,但我不知道我的方法是否正确。我使用访问令牌。我的链接在上面。当我发送请求时,收到一个错误。客户端id是我的应用程序id,客户端机密是密
我需要一个PDO函数,如果用户course_id已经存在,它将返回false。 这是我的学生表列 标准标识 A这是我的课程表 课程编号 我还有报名表 id 我需要验证用户是否已经使用PHP PDO函数学习了一门课程,以及学习了特定课程的学生人数。