如何在所有微服务中实现Spring Security

问题描述 投票:0回答:1

我已经在授权服务中实现了 Spring Security,我正在其中生成令牌,但是如何在我的所有微服务中实现它。

网上有很多代码但找不到最新版本的Spring Boot 3+

目前我正在使用在auth标头发送jwt令牌编写一些代码

@PostMapping("/{username}")
    public ResponseEntity<Object> addWishlist(@Parameter(hidden = true) @RequestHeader("Authorization") String token, @PathVariable String username, @RequestBody MovieDto movie){
        if (jwtService.isTokenValid(token.substring(7),username)){
            return new ResponseEntity<>(wishlistService.addWishlist(username,movie),HttpStatus.CREATED);
        }
        throw new UnAuthorizedException("Unauthorized token access add movie");
    }

我想使用 Spring Security 实现如下所示的目标

@GetMapping("/validate")
    @PreAuthorize("hasRole('MEMBER') && #username == authentication.principal.username")
    public ResponseEntity<Object> validate(@RequestParam String username) {
        return new ResponseEntity<>(username+" Authorized", HttpStatus.ACCEPTED);
    }

这里是 GitHub 存储库的实际源代码链接

我想在愿望清单和用户个人资料中实现安全性

使用最新的 spring boot 3+ 和 spring 版本 6 仅使用 jwt 令牌而不连接数据库即可实现 spring security 的解决方案

java spring-boot spring-security jwt microservices
1个回答
0
投票

这实际上是我必须做的一个大过程,因为我正在使用授予者权限,但能够在最新版本的 Spring Boot 中实现它

源代码

© www.soinside.com 2019 - 2024. All rights reserved.