TrustedAuthenticationRequest

TrustedAuthenticationRequest

提问人:Jeff Rogers 提问时间:8/28/2023 更新时间:8/28/2023 访问量:34

问:

将 Quarkus 3 与 Primefaces 扩展一起使用来构建 JSF 应用程序。Quarkus 已设置为使用基于表单的身份验证,并且基于对源代码的审查,FormAuthenticationMechanism 返回 UsernamePasswordAuthenticationRequest 和 TrustedAuthenticationRequest 的凭据类型,这两种类型我都已实现。

不确定 TrustedAuthenticationRequest 应该如何工作。请求人脸页面时,TrustedAuthenticationRequest 的身份提供程序会被多次调用,似乎每个资源(css、js 等)都会调用一次。下面列出了身份提供程序代码。每次调用时,它都会设置主体和角色,这似乎过多(一个页面导致超过 10 次调用)。

这是预期的行为还是我在这里实现了什么错误?

谢谢

@Override
    public Uni<SecurityIdentity> authenticate(TrustedAuthenticationRequest request,
            AuthenticationRequestContext authenticationRequestContext) {
        
        if (Objects.nonNull(request.getPrincipal())) {
            return Uni.createFrom().item(QuarkusSecurityIdentity.builder()
                    .setPrincipal(new QuarkusPrincipal(request.getPrincipal()))
                    .addRoles(Set.of("create", "read", "update", "delete"))
                    .build());
        }

        throw new AuthenticationFailedException("password invalid or user not found");
    }
夸库斯 表单身份验证

评论


答: 暂无答案