首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CachingAuthenticator在Dropwizard中的应用

CachingAuthenticator在Dropwizard中的应用
EN

Stack Overflow用户
提问于 2015-05-08 11:57:38
回答 2查看 1.4K关注 0票数 3

我想从下拉向导中丢弃旧的身份验证,这就是为什么我要使用CachingAuthenticator的blow配置。

代码语言:javascript
复制
@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文件中为

代码语言:javascript
复制
authenticationCachePolicy: maximumSize=10, expireAfterAccess=1m

我的问题是:

  1. 如何注册(使其正常工作) cachingAuthenticator,以便每个请求都经过身份验证?
  2. 如何在秒内设置expireAfterAccess?
  3. 如果密码有问题,请建议.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-08 11:45:36

工作溶液

代码语言:javascript
复制
/** authentication config */
CachingAuthenticator<BasicCredentials, AuthUser> cachingAuthenticator = new CachingAuthenticator<>(
    environment.metrics(), new MyAuthenticator(), configuration.getAuthenticationCachePolicy());

environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<AuthUser>()
    .setAuthenticator(cachingAuthenticator).setRealm("kedar.javalkar.realm").buildAuthFilter()));

environment.jersey().register(new AuthValueFactoryProvider.Binder<>(AuthUser.class));

yml可以

代码语言:javascript
复制
# Caching authenticator.
authenticationCachePolicy: maximumSize=10000, expireAfterAccess=10m

代码语言:javascript
复制
# Caching authenticator.
authenticationCachePolicy: maximumSize=10000, expireAfterAccess=1s
票数 1
EN

Stack Overflow用户

发布于 2015-05-10 11:54:10

我不知道“2”,但对于“1”,您只需将身份验证器连接到基本的auth提供程序。

代码语言:javascript
复制
CachingAuthenticator<BasicCredentials, AuthUser> cachingAuthenticator =
        new CachingAuthenticator<>(environment.metrics(), new WebAuthenticator(), 
                configuration.getAuthenticationCachePolicy());

environment.jersey().register(AuthFactory.binder(
            new BasicAuthFactory<>(cachingAuthenticator,
                     "Example Realm", AuthUser.class)));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30123271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档