gpt4 book ai didi

java - spring boot 中所有资源都需要设置默认角色吗?

转载 作者:行者123 更新时间:2023-11-29 06:49:33 25 4
gpt4 key购买 nike

是否可以为所有资源设置默认 ROLE_ADMIN,然后在指定资源上用 ROLE_USERIS_AUTHENTICATED_ANONYMOUSLY 覆盖它?

目前我为管理员用户使用@Secured({"ROLE_ADMIN"})(例如获取所有用户列表),@Secured({"ROLE_USER", "ROLE_ADMIN"}) 用于普通用户(例如获取他们的订单列表)和 @Secured("IS_AUTHENTICATED_ANONYMOUSLY") 用于匿名用户(例如获取列表产品或登录)。

现在我需要将 ROLE_ADMIN 设置为所有资源的默认必需角色,然后根据资源要求覆盖它。

最佳答案

@RestController
@RequestMapping(value = "test", produces = MediaType.APPLICATION_JSON_VALUE)
@PreAuthorize("hasAuthority('ROLE_ADMIN')")
public class TestResource {

@PreAuthorize("hasAuthority('ROLE_USER')")
@RequestMapping(value = "somePath", produces = MediaType.APPLICATION_JSON_VALUE)
public Object apiEndpoint() {return null;}

}

在 Controller 顶部放置一个默认的@PreAuthorize。它将适用于所有公共(public)方法。如果你想覆盖:把另一个 @PreAuthorize 放在方法上面。

关于java - spring boot 中所有资源都需要设置默认角色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53427557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com