2017-10-16 18 views
0

私はSpringブート1.5.7、を使用していません。 Spring Securityを使用しています。私の目的は、組み込みのTomcatコンテナーを試して、基本的なauthnを有効にすることです。ここで基本的な認証でSpring Bootの埋め込みTomcatコンテナを設定する

は私が持っているものです。

@Bean 
public EmbeddedServletContainerFactory servletContainer() { 
    final TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); 
    tomcat.addContextCustomizers(ctx -> { 
     String AUTH_ROLE = "admin"; 
     LoginConfig config = new LoginConfig(); 
     config.setAuthMethod("BASIC"); 
     ctx.setLoginConfig(config); 
     ctx.addSecurityRole(AUTH_ROLE); 
     SecurityConstraint constraint = new SecurityConstraint(); 
     constraint.addAuthRole(AUTH_ROLE); 
     SecurityCollection collection = new SecurityCollection(); 
     collection.addPattern("/*"); 
     constraint.addCollection(collection); 
     ctx.addConstraint(constraint); 
    }); 

    return tomcat; 
} 

これはどんな効果があるとは思われません。この種のことはプログラムでSpring Bootで可能か、それともweb.xmlのような方法でしかできないのでしょうか?

PS:Stackoverflowには、Spring Securityプロジェクトに関連するさまざまなソリューションや代替案がいくつでも掲載されています。ここでは、その図書館を関与せずにこれを解決する方法があるかどうかを知りたいと思います。

答えて

0

あなたの構成は良いですが、工場出荷時に基本的なオーセンティケータバルブを追加する必要があります。

final TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); 
    tomcat.addContextValves(new BasicAuthenticator()); 
    tomcat.addContextCustomizers(.... 
+0

ワンダフル。あなたの洞察に感謝します。 –

関連する問題