小编Vít*_*ero的帖子

如何在 Quarkus 应用程序中检索 SecurityContext?

我有一个 Quarkus 应用程序,在其中实现了ContainerRequestFilter用于保存传入请求的标头的接口:

@PreMatching
public class SecurityFilter implements ContainerRequestFilter {
   private static final String HEADER_EMAIL = "HD-Email";

   @Override
   public void filter(ContainerRequestContext requestContext) throws IOException {
       String email = requestContext.getHeaders().getFirst(HEADER_EMAIL);

       if (email == null) {
           throw new AuthenticationFailedException("Email header is required");
       }

       requestContext.setSecurityContext(new SecurityContext() {
           @Override
           public Principal getUserPrincipal() {
               return () -> email;
           }

           @Override
           public boolean isUserInRole(String role) {
               return false;
           }

           @Override
           public boolean isSecure() {
               return false;
           }

           @Override
           public String getAuthenticationScheme() {
               return null; …
Run Code Online (Sandbox Code Playgroud)

java security jax-rs quarkus

2
推荐指数
1
解决办法
5988
查看次数

标签 统计

java ×1

jax-rs ×1

quarkus ×1

security ×1