我想从dropwizard丢弃旧的身份验证,这就是为什么我使用CachingAuthenticator的打击配置。
@Override
public void run(WebConfiguration configuration, Environment environment) {
environment.jersey().register(new ActivityResource());
CachingAuthenticator<BasicCredentials, AuthUser> cachingAuthenticator =
new CachingAuthenticator<>(environment.metrics(), new WebAuthenticator(),
configuration.getAuthenticationCachePolicy());
}
策略在yml文件中为
authenticationCachePolicy: maximumSize=10, expireAfterAccess=1m
我的问题是:1)我该如何注册(使其工作)cachingAuthenticator,以便对每个请求进行身份验证。
2)如何在几秒钟内设置expireAfterAccess
3)任何在代码上都是错误的,建议...
最佳答案
我不了解“2)”,但是对于“1)”,您只需要将身份验证器连接到基本身份验证提供程序
CachingAuthenticator<BasicCredentials, AuthUser> cachingAuthenticator =
new CachingAuthenticator<>(environment.metrics(), new WebAuthenticator(),
configuration.getAuthenticationCachePolicy());
environment.jersey().register(AuthFactory.binder(
new BasicAuthFactory<>(cachingAuthenticator,
"Example Realm", AuthUser.class)));