2017-07-04 4 views
1

Nous essayons de migrer un projet de Wildfly 10 à Wildfly Swarm 2017.6, et nous avons atteint un point d'achoppement qui porte le domaine de sécurité. Notre domaine de sécurité est configuré comme suit:Configuration du domaine de sécurité de Wildfly Swarm

<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&amp;size=1000&amp;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> 

Nous avons également un module standard configuré sur com.obbi.domain.security. Le module est juste un module standard comme suit:

<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> 

Je ne peux pas trouver des correspondances de fragments de sécurité essaim wildfly qui correspondent au sous-système. Puis-je demander s'ils existent, et s'il y a de la documentation sur eux, si quelqu'un peut aider dans ce forum peut aider?

Cordialement

Répondre

0

J'utilise la fraction org.wildfly.swarm.security:

<dependency> 
    <groupId>org.wildfly.swarm</groupId> 
    <artifactId>security</artifactId> 
</dependency> 

La documentation se trouve dans le reference guide, l'utilisation ressemble à:

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")))); 

Pour votre cas, l'appel à classicAuthentication() doit être remplacé par jaspiAuthentication(). Le module de connexion peut être déployé comme n'importe quel autre module sur Swarm.

+0

Merci Robby Je vais essayer –

0

réussi à le configurer comme suit:

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&amp;size=1000&amp;username=%s") 
     .moduleOption("skipAllValidators", "true"); 
     }); 
     }); 
     }));