gpt4 book ai didi

java - ReSTLet 2.0.8 : Multiple authentication methods (BASIC, 摘要)用于单个 reSTLet 应用程序实例?

转载 作者:太空宇宙 更新时间:2023-11-04 08:33:49 30 4
gpt4 key购买 nike

我们使用 ReSTLet 2.0.8 并有一个覆盖 org.reSTLet.Application#createInboundRoot() 的 Application 实例。在那里,我们创建 Router 实例并返回(此时)一个 DigestAuthenticator,如下面的代码片段所示:

@Override
public synchronized Restlet createInboundRoot() {
log.info("App::createInboundRoot called");

this.authenticator = getAuthenticator();

Router router = new Router(getContext());
router.attach("/echo", EchoResource.class);
router.attach("/status", StatusResource.class);

authenticator.setNext(router);
return authenticator;
}

private ChallengeAuthenticator getAuthenticator() {
DigestAuthenticator auth = new DigestAuthenticator(getContext(), "Guard", "s3cret");
auth.setWrappedVerifier(new SimpleVerifier("user","pass");
auth.setOptional(false);
return auth;
}

我想要实现的是:

  • 让 EchoResource 使用摘要身份验证,而 StatusResource 应使用 HTTP 基本身份验证

这可以用 ReSTLet 实现吗?

最好,克里斯

最佳答案

这可以通过链接 DigestAuthenticator(可选:true)和 BasicAuthenticator(可选:false)来实现。伪代码:

   digestAuth.setNext(basicAuth);
basicAuth.setNext(router);

关于java - ReSTLet 2.0.8 : Multiple authentication methods (BASIC, 摘要)用于单个 reSTLet 应用程序实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6855287/

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