我们正在尝试将一个项目从Wildfly 10迁移到Wildfly Swarm 2017.6,我们在移植安全域时遇到了一个障碍。我们的安全域配置如下:
<security-domain name="sec-id">
<authentication-jaspi>
<login-module-stack name="sec-id-module-stack">
<login-module code="com.obbi.domain.security.loginmodule.jwt.JWTLoginModule" flag="sufficient" module="com.obbi.domain.security">
<module-option name="expectedIssuer" value="CN=DI SIT signer"/>
<module-option name="expectedAudience" value="Obbi"/>
<module-option name="allowedClockSkewInSeconds" value="30"/>
<module-option name="validateTokenSignature" value="false"/>
<module-option name="maxFutureValidityInMinutes" value="525600"/>
<module-option name="keyStoreFilePath" value="C:/wildfly-10.1.0.Final/standalone/configuration/keystore.jks"/>
<module-option name="keyStorePassword" value="obbi123"/>
<module-option name="validateCertificate" value="false"/>
<module-option name="loadSystemPrincipals" value="true"/>
<module-option name="loadSystemPrincipalsEndpoint" value="https://test.obbi.co.za:9443/services/v1/obbi-id?page=0&size=1000&username=%s"/>
<module-option name="skipAllValidators" value="true"/>
</login-module>
</login-module-stack>
<auth-module code="com.obbi.domain.security.JASPICServerAuthModule" flag="required" login-module-stack-ref="sec-id-module-stack"/>
</authentication-jaspi>
</security-domain>我们还在com.obbi.domain.security上配置了一个标准模块。该模块只是一个标准模块,如下所示:
<module xmlns="urn:jboss:module:1.3" name="com.obbi.domain.security">
<resources>
<resource-root path="domain-service-security-jboss-2.0-SNAPSHOT.jar"/>
<resource-root path="domain-service-security-client-2.0-SNAPSHOT.jar"/>
<resource-root path="jose4j-0.5.0.jar"/>
</resources>
<dependencies>
<module name="org.jboss.as.web"/>
<module name="org.jboss.logging"/>
<module name="org.picketbox"/>
<module name="javax.api"/>
<module name="javax.security.auth.message.api"/>
<module name="javax.servlet.api"/>
</dependencies>
</module>我找不到任何与子系统匹配的野蝇群安全片段映射。我想问一下,它们是否存在,是否有任何关于它们的文档,或者是否有人可以在这个论坛上提供帮助?
问候
发布于 2017-07-04 09:32:16
我使用的是org.wildfly.swarm.security分数:
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>security</artifactId>
</dependency>文档可以在reference guide中找到,用法如下所示:
SecurityFraction
.defaultSecurityFraction()
.securityDomain(new SecurityDomain("remote").classicAuthentication(new ClassicAuthentication()
.loginModule(new LoginModule("Remoting")
.code("Remoting")
.flag(Flag.OPTIONAL)
.moduleOption("password-stacking", "useFirstPass"))
.loginModule(new LoginModule("RealmDirect")
.code("RealmDirect")
.flag(Flag.REQUIRED)
.moduleOption("password-stacking", "useFirstPass"))));对于您的情况,应该用jaspiAuthentication()替换对classicAuthentication()的调用。登录模块可以像Swarm上的任何其他模块一样进行部署。
发布于 2017-07-04 13:47:50
管理配置,如下所示:
swarm.fraction(new SecurityFraction()
.securityDomain("sec-id", (sd) -> {
sd.jaspiAuthentication(jaspi -> {
jaspi.authModule("basic", value -> {
value.code("com.obbi.domain.security.loginmodule.jwt.JWTLoginModule")
.flag(Flag.SUFFICIENT)
.module("com.obbi.domain.security")
.moduleOption("expectedIssuer", "CN=DI SIT signer")
.moduleOption("expectedAudience", "Obbi")
.moduleOption("allowedClockSkewInSeconds", "30")
.moduleOption("validateTokenSignature", "false")
.moduleOption("maxFutureValidityInMinutes", "525600")
.moduleOption("keyStoreFilePath", "C:/wildfly-10.1.0.Final/standalone/configuration/keystore.jks")
.moduleOption("keyStorePassword", "pass123")
.moduleOption("validateCertificate", "false")
.moduleOption("loadSystemPrincipals", "true")
.moduleOption("loadSystemPrincipalsEndpoint", "https://test.obbi.co.za:9443/services/v1/obbi-id?page=0&size=1000&username=%s")
.moduleOption("skipAllValidators", "true");
});
});
}));https://stackoverflow.com/questions/44895686
复制相似问题