【问题标题】:Spring boot embedded tomcat custom realmSpring Boot 嵌入式 tomcat 自定义领域
【发布时间】:2015-06-11 16:05:20
【问题描述】:

我知道这个问题:embedded tomcat spring boot
但是,就解决方案而言,这还有很多不足之处,目前我有以下代码可用于启用 SSL:

TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
tomcat.addConnectorCustomizers( (connector) -> {
     connector.setPort(8443);
     connector.setSecure(true);
     connector.setScheme("https");

     Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
     protocol.setSSLEnabled(true);
     protocol.setKeystoreFile(keystore);
     protocol.setKeystorePass(password);
     protocol.setKeystoreType("jks");
     protocol.setKeyAlias(alias);
}
)

我的问题是,如果我有一个在 XML 中看起来像这样的领域:

<Realm classname="foo.bar.baz | bing.bang.bong"
        var1 = "xyz"
        var2 = "123"
/>

如何使用嵌入式 tomcat 重新创建它?

【问题讨论】:

    标签: java spring tomcat spring-boot


    【解决方案1】:

    尝试使用 ContextCustomizer 而不是 ConnectorCustomizer

    tomcat.addContextCustomizers( (context) -> { 
        context.setRealm(...);
    }
    )
    

    【讨论】:

    • 当然,但是我如何真正构建领域?
    • 好吧,根据您上面的问题,您不确定您正在使用什么领域的实现。但是例如查看 org.apache.catalina.realm.DataSourceRealm 的 API,您会发现它有一个构造函数和设置器,用于您通常在 XML 中配置的属性。
    猜你喜欢
    • 2014-08-17
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2012-11-01
    • 2017-03-12
    • 2018-06-27
    • 1970-01-01
    相关资源
    最近更新 更多