Skip to content

Commit

Permalink
Make domain optional. Use name of parent Host as default value.
Browse files Browse the repository at this point in the history
  • Loading branch information
pferraro committed Feb 7, 2014
1 parent 2ea518b commit 3f47de8
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 14 deletions.
Expand Up @@ -304,7 +304,7 @@
</xs:complexType>

<xs:complexType name="singleSignOnType">
<xs:attribute name="domain" type="xs:string" use="required">
<xs:attribute name="domain" type="xs:string">
<xs:annotation>
<xs:documentation>
<![CDATA[
Expand Down
Expand Up @@ -354,19 +354,15 @@ public static void addSso(ModelControllerClient client) throws Exception {
final List<ModelNode> updates = new ArrayList<ModelNode>();

// SSO element name must be 'configuration'
ModelNode op = createOpNode("subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on", ADD);
op.get("domain").set("${jboss.bind.address:127.0.0.1}");
updates.add(op);
updates.add(createOpNode("subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on", ADD));

applyUpdates(updates, client);
}

public static void removeSso(final ModelControllerClient client) throws Exception {
final List<ModelNode> updates = new ArrayList<ModelNode>();

ModelNode op = createOpNode("subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on", REMOVE);
op.get("domain").set("${jboss.bind.address:127.0.0.1}");
updates.add(op);
updates.add(createOpNode("subsystem=undertow/server=default-server/host=default-host/setting=single-sign-on", REMOVE));

applyUpdates(updates, client);
}
Expand Down
Expand Up @@ -58,8 +58,8 @@ protected void performRuntime(final OperationContext context, final ModelNode op
final PathAddress hostAddress = address.subAddress(0, address.size() - 1);
final PathAddress serverAddress = hostAddress.subAddress(0, hostAddress.size() - 1);

final String domain = SingleSignOnDefinition.DOMAIN.resolveModelAttribute(context, model).asString();

ModelNode domainModelNode = SingleSignOnDefinition.DOMAIN.resolveModelAttribute(context, model);
String domain = domainModelNode.isDefined() ? domainModelNode.asString() : null;
final String serverName = serverAddress.getLastElement().getValue();
final String hostName = hostAddress.getLastElement().getValue();
final ServiceName serviceName = UndertowService.ssoServiceName(serverName, hostName);
Expand Down
Expand Up @@ -42,6 +42,7 @@
class SingleSignOnDefinition extends PersistentResourceDefinition {

static final SimpleAttributeDefinition DOMAIN = new SimpleAttributeDefinitionBuilder(Constants.DOMAIN, ModelType.STRING)
.setAllowNull(true)
.setAllowExpression(true)
.build();

Expand Down
Expand Up @@ -51,17 +51,17 @@ public SingleSignOnService(String domain) {

@Override
public void start(StartContext startContext) {
Host host = this.host.getValue();
SingleSignOnAuthenticationMechanism mechanism = new SingleSignOnAuthenticationMechanism(this.manager.getValue());
if (this.domain != null) {
mechanism.setDomain(this.domain);
}
mechanism.setDomain((this.domain != null) ? this.domain : host.getName());

this.host.getValue().registerAdditionalAuthenticationMechanism(AUTHENTICATION_MECHANISM_NAME, mechanism);
host.registerAdditionalAuthenticationMechanism(AUTHENTICATION_MECHANISM_NAME, mechanism);
}

@Override
public void stop(StopContext stopContext) {
this.host.getValue().unregisterAdditionalAuthenticationMechanism(AUTHENTICATION_MECHANISM_NAME);
Host host = this.host.getValue();
host.unregisterAdditionalAuthenticationMechanism(AUTHENTICATION_MECHANISM_NAME);
}

@Override
Expand Down

0 comments on commit 3f47de8

Please sign in to comment.