I pulled the latest JBoss7.1cr1 code this morning to try to configure a JASPI provider for
authentication.
<security-domain name="tutor-ldap">
<authentication-jaspi>
<login-module-stack name="ldap-stack">
<login-module code="LdapExtended"
flag="required">
<module-option
name="java.naming.provider.url" value="ldap://localhost:10389"/>
<module-option name="bindDN"
value="uid=admin,ou=system"/>
<module-option name="bindCredential"
value="xxx"/>
<module-option name="baseCtxDN"
value="ou=users,ou=system"/>
<module-option name="baseFilter"
value="(sn={0})"/>
<module-option name="rolesCtxDN"
value="ou=groups,ou=system"/>
<module-option name="roleFilter"
value="(member={1})"/>
<module-option name="roleAttributeID"
value="cn"/>
<module-option name="roleAttributeIsDN"
value="false"/>
<module-option name="java.naming.referral"
value="follow"/>
<module-option name="roleRecursion"
value="-1"/>
<module-option name="searchScope"
value="SUBTREE_SCOPE"/>
<module-option
name="java.naming.security.authentication" value="simple"/>
<module-option name="allowEmptyPasswords"
value="false"/>
</login-module>
</login-module-stack>
<auth-module
code="org.jboss.as.web.security.jaspi.modules.HTTPFormServerAuthModule"
login-module-stack-ref="ldap-stack">
</auth-module>
</authentication-jaspi>
</security-domain>
Received the following exception:
java.util.NoSuchElementException: No child 'name' exists
at org.jboss.dmr.ModelValue.requireChild(ModelValue.java:362)
[jboss-dmr-1.1.1.Final.jar:]
at org.jboss.dmr.PropertyModelValue.requireChild(PropertyModelValue.java:156)
[jboss-dmr-1.1.1.Final.jar:]
at org.jboss.dmr.ModelNode.require(ModelNode.java:812) [jboss-dmr-1.1.1.Final.jar:]
at
org.jboss.as.security.SecurityDomainAdd.processJASPIAuth(SecurityDomainAdd.java:333)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.security.SecurityDomainAdd.createApplicationPolicy(SecurityDomainAdd.java:213)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at org.jboss.as.security.SecurityDomainAdd.launchServices(SecurityDomainAdd.java:167)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at org.jboss.as.security.SecurityDomainAdd$1.execute(SecurityDomainAdd.java:156)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:359)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:254)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:190)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at org.jboss.as.security.SecurityDomainAdd$1.execute(SecurityDomainAdd.java:157)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:359)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:254)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:190)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at org.jboss.as.security.SecurityDomainAdd$1.execute(SecurityDomainAdd.java:157)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:359)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:254)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:190)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at org.jboss.as.security.SecurityDomainAdd$1.execute(SecurityDomainAdd.java:157)
[jboss-as-security-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:359)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:254)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:190)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.server.AbstractDeploymentChainStep.execute(AbstractDeploymentChainStep.java:46)
[jboss-as-server-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:359)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:254)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:190)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.server.AbstractDeploymentChainStep.execute(AbstractDeploymentChainStep.java:46)
[jboss-as-server-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:359)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:254)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:190)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at
org.jboss.as.controller.ParallelBootOperationStepHandler$ParallelBootTask.run(ParallelBootOperationStepHandler.java:311)
[jboss-as-controller-7.1.0.CR1-SNAPSHOT.jar:]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [:1.6.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [:1.6.0_25]
at java.lang.Thread.run(Unknown Source) [:1.6.0_25]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
The code is trying to validate that the name attribute exists on the login-module-stack
tag but the call to ModelValue.requireChild does nothing more than throw an exception.
ModelNode requireChild(final String name) throws NoSuchElementException {
throw new NoSuchElementException("No child '" + name +
"' exists");
}
Would like a second pair of eyes on this to make sure something else isn't staring me
in the face before opening a jira issue against cr1.
Thanks
Ben
Show replies by date