diff options
Diffstat (limited to '')
20 files changed, 0 insertions, 1883 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicy.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicy.java deleted file mode 100644 index c735f63b7d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicy.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.authentication.basic; - -import javax.xml.namespace.QName; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class BasicAuthenticationPolicy { - private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - - public static final QName BASIC_AUTHENTICATION_POLICY_QNAME = new QName(SCA10_TUSCANY_NS, "basicAuthentication"); - public static final String BASIC_AUTHENTICATION_USERNAME = "userName"; - public static final String BASIC_AUTHENTICATION_PASSWORD = "password"; - - private String userName; - private String password; - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public QName getSchemaName() { - return BASIC_AUTHENTICATION_POLICY_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java deleted file mode 100644 index 3df06c1e00..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.authentication.basic; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; - -/** - * - * @version $Rev$ $Date$ - */ -public class BasicAuthenticationPolicyProcessor implements StAXArtifactProcessor<BasicAuthenticationPolicy> { - private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - - public QName getArtifactType() { - return BasicAuthenticationPolicy.BASIC_AUTHENTICATION_POLICY_QNAME; - } - - public BasicAuthenticationPolicyProcessor(FactoryExtensionPoint modelFactories) { - } - - - public BasicAuthenticationPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - BasicAuthenticationPolicy policy = new BasicAuthenticationPolicy(); - int event = reader.getEventType(); - QName name = null; - - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if ( name.equals(getArtifactType()) ) { - // no attributes at the moment - } else if ( BasicAuthenticationPolicy.BASIC_AUTHENTICATION_USERNAME.equals(name.getLocalPart()) ) { - policy.setUserName(reader.getElementText()); - } else if ( BasicAuthenticationPolicy.BASIC_AUTHENTICATION_PASSWORD.equals(name.getLocalPart()) ) { - policy.setPassword(reader.getElementText()); - } - break; - } - } - - if ( event == END_ELEMENT ) { - if ( getArtifactType().equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(BasicAuthenticationPolicy policy, XMLStreamWriter writer, ProcessorContext context) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", SCA10_TUSCANY_NS); - - if ( policy.getUserName() != null ) { - writer.writeStartElement(prefix, - BasicAuthenticationPolicy.BASIC_AUTHENTICATION_USERNAME, - getArtifactType().getNamespaceURI()); - writer.writeCharacters(policy.getUserName()); - writer.writeEndElement(); - } - - if ( policy.getPassword() != null ) { - writer.writeStartElement(prefix, - BasicAuthenticationPolicy.BASIC_AUTHENTICATION_PASSWORD, - getArtifactType().getNamespaceURI()); - writer.writeCharacters(policy.getPassword()); - writer.writeEndElement(); - } - - writer.writeEndElement(); - } - - public Class<BasicAuthenticationPolicy> getModelType() { - return BasicAuthenticationPolicy.class; - } - - public void resolve(BasicAuthenticationPolicy arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException { - - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPrincipal.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPrincipal.java deleted file mode 100644 index 3ab9cb656d..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPrincipal.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.authentication.basic; - -import java.security.Principal; - - -/** - * - * @version $Rev$ $Date$ - */ -public class BasicAuthenticationPrincipal implements Principal { - - private String name; - private String password; - - public BasicAuthenticationPrincipal(String name, String password){ - if (name == null) { - throw new IllegalArgumentException("name cannot be null"); - } - - this.name = name; - this.password = password; - } - - public String getName() { - return name; - } - - public String getPassword() { - return password; - } - - @Override - public int hashCode() { - return name.hashCode(); - } - - @Override - public String toString() { - return name; - } - - - @Override - public boolean equals(Object principal) { - if (principal == null) - return false; - if (this == principal) - return true; - if (getClass() != principal.getClass()) - return false; - final BasicAuthenticationPrincipal other = (BasicAuthenticationPrincipal)principal; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)){ - return false; - } - - return true; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/token/TokenPrincipal.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/token/TokenPrincipal.java deleted file mode 100644 index 2cc24a4974..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/token/TokenPrincipal.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.authentication.token; - -import java.security.Principal; - - -/** - * - * @version $Rev$ $Date$ - * @tuscany.spi.extension.asclient - */ -public class TokenPrincipal implements Principal { - - private String name; - - public TokenPrincipal(String name){ - if (name == null) { - throw new IllegalArgumentException("name cannot be null"); - } - - this.name = name; - } - - public String getName() { - return name; - } - - @Override - public int hashCode() { - return name.hashCode(); - } - - @Override - public String toString() { - return name; - } - - - @Override - public boolean equals(Object principal) { - if (principal == null) - return false; - if (this == principal) - return true; - if (getClass() != principal.getClass()) - return false; - final TokenPrincipal other = (TokenPrincipal)principal; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)){ - return false; - } - - return true; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicy.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicy.java deleted file mode 100644 index c970704929..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicy.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.authorization; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -/** - * Models the SCA Implementation Security Policy Assertion for Authorization. - * - * @version $Rev$ $Date$ - */ -public class AuthorizationPolicy { - private final static String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200912"; - // private final static String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - public static final QName NAME = new QName(SCA11_NS, "authorization"); - - public static enum AcessControl { - permitAll, denyAll, allow - }; - - private List<String> roleNames = new ArrayList<String>(); - - public AuthorizationPolicy() { - } - - private AcessControl accessControl; - - public AcessControl getAccessControl() { - return accessControl; - } - - public void setAccessControl(AcessControl accessControl) { - this.accessControl = accessControl; - } - - public List<String> getRoleNames() { - if (accessControl == AcessControl.allow) { - return roleNames; - } else { - throw new IllegalArgumentException("Role names are only available for 'allow'"); - } - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - public QName getSchemaName() { - return NAME; - } - - @Override - public String toString() { - if (accessControl == AcessControl.allow) { - return accessControl.name() + " " + roleNames; - } - return accessControl.name(); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java deleted file mode 100644 index 8a65a10560..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.authorization; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.StringTokenizer; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * - * @version $Rev$ $Date$ - */ -public class AuthorizationPolicyProcessor implements StAXArtifactProcessor<AuthorizationPolicy> { - private static final String ROLES = "roles"; - - public QName getArtifactType() { - return AuthorizationPolicy.NAME; - } - - public AuthorizationPolicyProcessor(FactoryExtensionPoint modelFactories) { - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(Monitor monitor, String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "policy-security-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public AuthorizationPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - AuthorizationPolicy policy = new AuthorizationPolicy(); - int event = reader.getEventType(); - QName start = reader.getName(); - while (true) { - switch (event) { - case START_ELEMENT: - String ac = reader.getName().getLocalPart(); - if ("allow".equals(ac)) { - policy.setAccessControl(AuthorizationPolicy.AcessControl.allow); - String roleNames = reader.getAttributeValue(null, ROLES); - if (roleNames == null) { - error(context.getMonitor(), "RequiredAttributeRolesMissing", reader); - //throw new IllegalArgumentException("Required attribute 'roles' is missing."); - } else { - StringTokenizer st = new StringTokenizer(roleNames); - while (st.hasMoreTokens()) { - policy.getRoleNames().add(st.nextToken()); - } - } - } else if ("permitAll".equals(ac)) { - policy.setAccessControl(AuthorizationPolicy.AcessControl.permitAll); - } else if ("denyAll".endsWith(ac)) { - policy.setAccessControl(AuthorizationPolicy.AcessControl.denyAll); - } - break; - case END_ELEMENT: - if (start.equals(reader.getName())) { - if (reader.hasNext()) { - reader.next(); - } - return policy; - } - - } - if (reader.hasNext()) { - event = reader.next(); - } else { - return policy; - } - } - } - - public void write(AuthorizationPolicy policy, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, - XMLStreamException { - writer.writeStartElement(AuthorizationPolicy.NAME.getLocalPart()); - - writer.writeStartElement(policy.getAccessControl().name()); - - if (policy.getAccessControl() == AuthorizationPolicy.AcessControl.allow) { - StringBuffer sb = new StringBuffer(); - for (String role : policy.getRoleNames()) { - sb.append(role); - } - - if (sb.length() > 0) { - writer.writeAttribute(ROLES, sb.toString()); - } - } - - writer.writeEndElement(); - writer.writeEndElement(); - } - - public Class<AuthorizationPolicy> getModelType() { - return AuthorizationPolicy.class; - } - - public void resolve(AuthorizationPolicy policy, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { - - if ((policy.getAccessControl() == AuthorizationPolicy.AcessControl.allow) && - (policy.getRoleNames().isEmpty())){ - // role names are required so leave policy unresolved - return; - } - - //right now nothing to resolve - policy.setUnresolved(false); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyInterceptor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyInterceptor.java deleted file mode 100644 index 773c874a90..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyInterceptor.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.identity; - -import java.util.List; - -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.invocation.PhasedInterceptor; -import org.apache.tuscany.sca.policy.security.SecurityUtil; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class SecurityIdentityImplementationPolicyInterceptor implements PhasedInterceptor { - private List<SecurityIdentityPolicy> securityIdentityPolicies; - private Invoker next; - - public SecurityIdentityImplementationPolicyInterceptor(List<SecurityIdentityPolicy> securityIdentityPolicies) { - super(); - this.securityIdentityPolicies = securityIdentityPolicies; - } - - /** - * @see org.apache.tuscany.sca.invocation.Interceptor#getNext() - */ - public Invoker getNext() { - return next; - } - - /** - * @see org.apache.tuscany.sca.invocation.Interceptor#setNext(org.apache.tuscany.sca.invocation.Invoker) - */ - public void setNext(Invoker next) { - this.next = next; - } - - public String getPhase() { - return Phase.IMPLEMENTATION_POLICY; - } - - - /** - * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message) - */ - public Message invoke(Message msg) { - try { - - Subject subject = SecurityUtil.getSubject(msg); - - // May do some selection here based on runAs settings. - // by default though there is nothing to do as the implementation - // assumes the callers user credentials - - - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - return getNext().invoke(msg); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyProvider.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyProvider.java deleted file mode 100644 index ebbc2ba5ff..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyProvider.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.identity; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.PhasedInterceptor; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.provider.BasePolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class SecurityIdentityImplementationPolicyProvider extends BasePolicyProvider<SecurityIdentityPolicy> { - private RuntimeComponent component; - private Implementation implementation; - - public SecurityIdentityImplementationPolicyProvider(RuntimeComponent component) { - super(SecurityIdentityPolicy.class, component); - this.component = component; - this.implementation = component.getImplementation(); - } - - private List<SecurityIdentityPolicy> findPolicies(Operation op) { - List<SecurityIdentityPolicy> polices = new ArrayList<SecurityIdentityPolicy>(); - /* - // FIXME: How do we get a list of effective policySets for a given operation? - if (implementation instanceof OperationsConfigurator) { - OperationsConfigurator operationsConfigurator = (OperationsConfigurator)implementation; - for (ConfiguredOperation cop : operationsConfigurator.getConfiguredOperations()) { - if (cop.getName().equals(op.getName())) { - for (PolicySet ps : cop.getPolicySets()) { - for (Object p : ps.getPolicies()) { - if (SecurityIdentityPolicy.class.isInstance(p)) { - polices.add((SecurityIdentityPolicy)p); - } - } - } - } - } - } - */ - - List<PolicySet> policySets = component.getPolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (SecurityIdentityPolicy.class.isInstance(p)) { - polices.add((SecurityIdentityPolicy)p); - } - } - } - return polices; - } - - public PhasedInterceptor createInterceptor(Operation operation) { - List<SecurityIdentityPolicy> policies = findPolicies(operation); - if (policies == null || policies.isEmpty()) { - return null; - } else { - return new SecurityIdentityImplementationPolicyInterceptor(findPolicies(operation)); - } - } - - public void start() { - } - - public void stop() { - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicy.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicy.java deleted file mode 100644 index e4c24168c5..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicy.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.identity; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; - -/** - * Models the SCA Implementation Security Policy Assertion for Security Identity. - * - * @version $Rev$ $Date$ - */ -public class SecurityIdentityPolicy { - public static final QName NAME = new QName(Constants.SCA11_TUSCANY_NS, "securityIdentity"); - - private boolean useCallerIdentity; - - private String runAsRole; - - public SecurityIdentityPolicy() { - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - public QName getSchemaName() { - return NAME; - } - - public boolean isUseCallerIdentity() { - return useCallerIdentity; - } - - public void setUseCallerIdentity(boolean useCallerIdentity) { - this.useCallerIdentity = useCallerIdentity; - } - - public String getRunAsRole() { - return runAsRole; - } - - public void setRunAsRole(String runAsRole) { - this.runAsRole = runAsRole; - } - - @Override - public String toString() { - if (useCallerIdentity) { - return "useCallerIdentity"; - } - return "runAs " + runAsRole; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProcessor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProcessor.java deleted file mode 100644 index 3c91b9fbcf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProcessor.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.identity; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * - * @version $Rev$ $Date$ - */ -public class SecurityIdentityPolicyProcessor implements StAXArtifactProcessor<SecurityIdentityPolicy> { - private static final String ROLE = "role"; - - public QName getArtifactType() { - return SecurityIdentityPolicy.NAME; - } - - public SecurityIdentityPolicyProcessor(FactoryExtensionPoint modelFactories) { - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(Monitor monitor, String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "policy-security-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public SecurityIdentityPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - SecurityIdentityPolicy policy = new SecurityIdentityPolicy(); - int event = reader.getEventType(); - QName start = reader.getName(); - while (true) { - switch (event) { - case START_ELEMENT: - String ac = reader.getName().getLocalPart(); - if ("runAs".equals(ac)) { - String roleName = reader.getAttributeValue(null, ROLE); - if (roleName == null) { - error(context.getMonitor(), "RequiredAttributeRolesMissing", reader); - //throw new IllegalArgumentException("Required attribute 'roles' is missing."); - } else { - policy.setRunAsRole(roleName); - } - } else if ("useCallerIdentity".equals(ac)) { - policy.setUseCallerIdentity(true); - } - break; - case END_ELEMENT: - if (start.equals(reader.getName())) { - if (reader.hasNext()) { - reader.next(); - } - return policy; - } - - } - if (reader.hasNext()) { - event = reader.next(); - } else { - return policy; - } - } - } - - public void write(SecurityIdentityPolicy policy, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, - XMLStreamException { - writer.writeStartElement(SecurityIdentityPolicy.NAME.getLocalPart()); - - String child = policy.isUseCallerIdentity() ? "useCallerIdentity" : "runAs"; - writer.writeStartElement(child); - - if (!policy.isUseCallerIdentity()) { - writer.writeAttribute(ROLE, policy.getRunAsRole()); - } - - writer.writeEndElement(); - writer.writeEndElement(); - } - - public Class<SecurityIdentityPolicy> getModelType() { - return SecurityIdentityPolicy.class; - } - - public void resolve(SecurityIdentityPolicy policy, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { - - if (policy.getRunAsRole() != null) - //right now nothing to resolve - policy.setUnresolved(false); - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProviderFactory.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProviderFactory.java deleted file mode 100644 index 80e1494796..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProviderFactory.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.identity; - -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.EndpointReference; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class SecurityIdentityPolicyProviderFactory implements PolicyProviderFactory<SecurityIdentityPolicy> { - private ExtensionPointRegistry registry; - - public SecurityIdentityPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component) { - return new SecurityIdentityImplementationPolicyProvider(component); - } - - public PolicyProvider createReferencePolicyProvider(EndpointReference endpointReference) { - return null; - } - - public PolicyProvider createServicePolicyProvider(Endpoint endpoint) { - return null; - } - - public Class<SecurityIdentityPolicy> getModelType() { - return SecurityIdentityPolicy.class; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java deleted file mode 100644 index 50349cdf88..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityUtil.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.security; - -import java.security.Principal; - -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.invocation.Message; - - -/** - * Some utilities for dealing with security information in a Tuscany message - * - * @version $Rev$ $Date$ - * @tuscany.spi.extension.asclient - */ -public class SecurityUtil { - - public static String SubjectString = "Subject"; - public static String PrincipalString = "Principal"; - - public static Subject getSubject(Message msg){ - - Subject subject = (Subject)msg.getHeaders().get(SubjectString); - - if (subject == null){ - subject = new Subject(); - msg.getHeaders().put(SubjectString, subject); - } - - return subject; - } - - public static <T> T getPrincipal(Subject subject, Class<T> clazz){ - for (Principal msgPrincipal : subject.getPrincipals() ){ - if (clazz.isInstance(msgPrincipal)){ - return clazz.cast(msgPrincipal); - } - } - - return null; - } - - public static Principal getPrincipal(Message msg){ - - return (Principal)msg.getHeaders().get(PrincipalString); - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/http/ssl/HTTPSPolicy.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/http/ssl/HTTPSPolicy.java deleted file mode 100644 index cef6eebadc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/http/ssl/HTTPSPolicy.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.security.http.ssl; - -import java.util.Properties; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; - -/** - * Models the SCA Implementation Security Policy Assertion for Confidentiality. - * - * This would map to enabling SSL communication and would require - * the following configuration items : - * - * - javax.net.ssl.keyStore - * - javax.net.ssl.keyStorePassword - * - javax.net.ssl.keyStoreType - * - * - javax.net.ssl.trustStoreType - * - javax.net.ssl.trustStore - * - javax.net.ssl.trustStorePassword - * - * @version $Rev$ $Date$ - */ -public class HTTPSPolicy { - public static final QName NAME = new QName(Constants.SCA11_TUSCANY_NS, "https"); - - private String trustStoreType; - private String trustStore; - private String trustStorePassword; - - private String keyStoreType; - private String keyStore; - private String keyStorePassword; - - - public String getTrustStoreType() { - return trustStoreType; - } - - public void setTrustStoreType(String trustStoreType) { - this.trustStoreType = trustStoreType; - } - - public String getTrustStore() { - return trustStore; - } - - public void setTrustStore(String trustStore) { - this.trustStore = trustStore; - } - - public String getTrustStorePassword() { - return trustStorePassword; - } - - public void setTrustStorePassword(String trustStorePassword) { - this.trustStorePassword = trustStorePassword; - } - - public String getKeyStoreType() { - return keyStoreType; - } - - public void setKeyStoreType(String keyStoreType) { - this.keyStoreType = keyStoreType; - } - - public String getKeyStore() { - return keyStore; - } - - public void setKeyStore(String keyStore) { - this.keyStore = keyStore; - } - - public String getKeyStorePassword() { - return keyStorePassword; - } - - public void setKeyStorePassword(String keyStorePassword) { - this.keyStorePassword = keyStorePassword; - } - - public QName getSchemaName() { - return NAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - - } - - public Properties toProperties() { - Properties properties = new Properties(); - - properties.put("javax.net.ssl.trustStoreType", trustStoreType); - properties.put("javax.net.ssl.trustStore", trustStore); - properties.put("javax.net.ssl.trustStorePassword", trustStorePassword); - - properties.put("javax.net.ssl.keyStoreType", keyStoreType); - properties.put("javax.net.ssl.keyStore", keyStore); - properties.put("javax.net.ssl.keyStorePassword", keyStorePassword); - - return properties; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/http/ssl/HTTPSPolicyProcessor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/http/ssl/HTTPSPolicyProcessor.java deleted file mode 100644 index b0d6da194c..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/http/ssl/HTTPSPolicyProcessor.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.security.http.ssl; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; - -public class HTTPSPolicyProcessor implements StAXArtifactProcessor<HTTPSPolicy> { - private static final QName KEY_STORE_QNAME = new QName(Constants.SCA11_TUSCANY_NS, "keyStore"); - private static final QName TRUST_STORE_QNAME = new QName(Constants.SCA11_TUSCANY_NS, "trustStore"); - - public HTTPSPolicyProcessor(FactoryExtensionPoint modelFactories) { - } - - public QName getArtifactType() { - return HTTPSPolicy.NAME; - } - - public Class<HTTPSPolicy> getModelType() { - return HTTPSPolicy.class; - } - - public HTTPSPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - HTTPSPolicy policy = new HTTPSPolicy(); - int event = reader.getEventType(); - QName start = reader.getName(); - QName name = null; - while (true) { - switch (event) { - case START_ELEMENT: - name = reader.getName(); - if(KEY_STORE_QNAME.equals(name)) { - //<tuscany:keyStore type="JKS" file="conf/tomcat.keystore" password="apache"/> - String type = reader.getAttributeValue(null, "type"); - if(type == null) { - Monitor.error(context.getMonitor(), - this, - "policy-security-validation-messages", - "RequiredAttributeKeyStoreTypeMissing"); - } else { - policy.setKeyStoreType(type); - } - - String file = reader.getAttributeValue(null, "file"); - if(file == null) { - Monitor.error(context.getMonitor(), - this, - "policy-security-validation-messages", - "RequiredAttributeKeyStoreFileMissing"); - } else { - policy.setKeyStore(file); - } - - String password = reader.getAttributeValue(null, "password"); - if(file == null) { - Monitor.error(context.getMonitor(), - this, - "policy-security-validation-messages", - "RequiredAttributeKeyStorePasswordMissing"); - } else { - policy.setKeyStorePassword(password); - } - - } else if(TRUST_STORE_QNAME.equals(name)) { - //<tuscany:trustStore type="" file="" password=""/> - String type = reader.getAttributeValue(null, "type"); - if(type == null) { - Monitor.error(context.getMonitor(), - this, - "policy-security-validation-messages", - "RequiredAttributeTrustStoreTypeMissing"); - } else { - policy.setTrustStoreType(type); - } - - String file = reader.getAttributeValue(null, "file"); - if(file == null) { - Monitor.error(context.getMonitor(), - this, - "policy-security-validation-messages", - "RequiredAttributeTrustStoreFileMissing"); - } else { - policy.setTrustStore(file); - } - - String password = reader.getAttributeValue(null, "password"); - if(file == null) { - Monitor.error(context.getMonitor(), - this, - "policy-security-validation-messages", - "RequiredAttributeTrustStorePasswordMissing"); - } else { - policy.setTrustStorePassword(password); - } - - } - break; - case END_ELEMENT: - if (start.equals(reader.getName())) { - if (reader.hasNext()) { - reader.next(); - } - return policy; - } - - } - if (reader.hasNext()) { - event = reader.next(); - } else { - return policy; - } - } } - - public void write(HTTPSPolicy model, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, - XMLStreamException { - // TODO - - } - - public void resolve(HTTPSPolicy model, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { - - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationImplementationPolicyProvider.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationImplementationPolicyProvider.java deleted file mode 100644 index 6425ae7fca..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationImplementationPolicyProvider.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.security.jaas; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.PhasedInterceptor; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.provider.BasePolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Policy handler to handle PolicySet containing JaasAuthenticationPolicy instances - * - * @version $Rev$ $Date$ - */ -public class JaasAuthenticationImplementationPolicyProvider extends BasePolicyProvider<JaasAuthenticationPolicy> { - private RuntimeComponent component; - private Implementation implementation; - - public JaasAuthenticationImplementationPolicyProvider(RuntimeComponent component) { - super(JaasAuthenticationPolicy.class, component); - this.component = component; - this.implementation = component.getImplementation(); - } - - private List<JaasAuthenticationPolicy> findPolicies(Operation op) { - List<JaasAuthenticationPolicy> polices = new ArrayList<JaasAuthenticationPolicy>(); - /* - // FIXME: How do we get a list of effective policySets for a given operation? - if (implementation instanceof OperationsConfigurator) { - OperationsConfigurator operationsConfigurator = (OperationsConfigurator)implementation; - for (ConfiguredOperation cop : operationsConfigurator.getConfiguredOperations()) { - if (cop.getName().equals(op.getName())) { - for (PolicySet ps : cop.getPolicySets()) { - for (Object p : ps.getPolicies()) { - if (JaasAuthenticationPolicy.class.isInstance(p)) { - polices.add((JaasAuthenticationPolicy)p); - } - } - } - } - } - } - */ - - List<PolicySet> policySets = component.getPolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JaasAuthenticationPolicy.class.isInstance(p)) { - polices.add((JaasAuthenticationPolicy)p); - } - } - } - return polices; - } - - public PhasedInterceptor createInterceptor(Operation operation) { - List<JaasAuthenticationPolicy> policies = findPolicies(operation); - if (policies == null || policies.isEmpty()) { - return null; - } else { - return new JaasAuthenticationInterceptor(findPolicies(operation)); - } - } - - public void start() { - } - - public void stop() { - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java deleted file mode 100644 index 247243fcf8..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.security.jaas; - -import java.util.List; - -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.login.LoginContext; - -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.invocation.PhasedInterceptor; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class JaasAuthenticationInterceptor implements PhasedInterceptor { - private List<JaasAuthenticationPolicy> authenticationPolicies; - private Invoker next; - - public JaasAuthenticationInterceptor(List<JaasAuthenticationPolicy> authenticationPolicies) { - super(); - this.authenticationPolicies = authenticationPolicies; - } - - /** - * @see org.apache.tuscany.sca.invocation.Interceptor#getNext() - */ - public Invoker getNext() { - return next; - } - - /** - * @see org.apache.tuscany.sca.invocation.Interceptor#setNext(org.apache.tuscany.sca.invocation.Invoker) - */ - public void setNext(Invoker next) { - this.next = next; - } - - /** - * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message) - */ - public Message invoke(Message msg) { - try { - for (JaasAuthenticationPolicy policy : authenticationPolicies) { - CallbackHandler callbackHandler = - (CallbackHandler)policy.getCallbackHandlerClass().newInstance(); - LoginContext lc = new LoginContext(policy.getConfigurationName(), callbackHandler); - lc.login(); - // Subject subject = lc.getSubject(); - } - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - return getNext().invoke(msg); - } - - public String getPhase() { - return Phase.IMPLEMENTATION_POLICY; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicy.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicy.java deleted file mode 100644 index 65d8b5c597..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicy.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.security.jaas; - -import javax.xml.namespace.QName; - -/** - * - * @version $Rev$ $Date$ - */ -public class JaasAuthenticationPolicy { - private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - public static final QName NAME = new QName(SCA10_TUSCANY_NS, "jaasAuthentication"); - - private String configurationName = "other"; - private String callbackHandlerClassName; - private Class<?> callbackHandlerClass; - - public String getCallbackHandlerClassName() { - return callbackHandlerClassName; - } - - public void setCallbackHandlerClassName(String callbackHandlerClassName) { - this.callbackHandlerClassName = callbackHandlerClassName; - } - - public Class<?> getCallbackHandlerClass() { - return callbackHandlerClass; - } - - public void setCallbackHandlerClass(Class<?> callbackHandlerClass) { - this.callbackHandlerClass = callbackHandlerClass; - } - - public QName getSchemaName() { - return NAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - public String getConfigurationName() { - return configurationName; - } - - public void setConfigurationName(String configurationName) { - this.configurationName = configurationName; - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyHandler.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyHandler.java deleted file mode 100644 index 16629e4c6b..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyHandler.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.security.jaas; - -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.login.LoginContext; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Policy handler to handle PolicySet containing JaasAuthenticationPolicy instances - * - * @version $Rev$ $Date$ - */ -public class JaasAuthenticationPolicyHandler { - private static final String jaasPolicy = "JaasPolicy"; - private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - public static final QName policySetQName = new QName(SCA10_TUSCANY_NS, jaasPolicy); - private PolicySet applicablePolicySet = null; - - public void setUp(Object... context) { - if (applicablePolicySet != null) { - } - } - - public void cleanUp(Object... context) { - } - - public void beforeInvoke(Object... context) { - try { - JaasAuthenticationPolicy policy = (JaasAuthenticationPolicy)applicablePolicySet.getPolicies().get(0); - CallbackHandler callbackHandler = - (CallbackHandler)policy.getCallbackHandlerClass().newInstance(); - LoginContext lc = new LoginContext(policy.getConfigurationName(), callbackHandler); - lc.login(); - } catch (Exception e) { - throw new RuntimeException(e); - } - - } - - public void afterInvoke(Object... context) { - - } - - public PolicySet getApplicablePolicySet() { - return applicablePolicySet; - } - - public void setApplicablePolicySet(PolicySet applicablePolicySet) { - this.applicablePolicySet = applicablePolicySet; - } -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProcessor.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProcessor.java deleted file mode 100644 index b9ab68aa2f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProcessor.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.security.jaas; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.ProcessorContext; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * - * @version $Rev$ $Date$ - */ -public class JaasAuthenticationPolicyProcessor implements StAXArtifactProcessor<JaasAuthenticationPolicy> { - private static final QName JAAS_AUTHENTICATION_POLICY_QNAME = JaasAuthenticationPolicy.NAME; - private static final String callbackHandler = "callbackHandler"; - private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - public static final QName CALLBACK_HANDLER_QNAME = new QName(SCA10_TUSCANY_NS, callbackHandler); - public static final QName CONFIGURATION_QNAME = new QName(SCA10_TUSCANY_NS, "configurationName"); - - - public QName getArtifactType() { - return JAAS_AUTHENTICATION_POLICY_QNAME; - } - - public JaasAuthenticationPolicyProcessor(FactoryExtensionPoint modelFactories) { - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(Monitor monitor, String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "policy-security-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public JaasAuthenticationPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { - JaasAuthenticationPolicy policy = new JaasAuthenticationPolicy(); - int event = reader.getEventType(); - QName name = null; - - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if (name.equals(CALLBACK_HANDLER_QNAME)) { - String callbackHandlerClassName = reader.getElementText(); - if (callbackHandlerClassName != null) { - policy.setCallbackHandlerClassName(callbackHandlerClassName.trim()); - } - } - if (name.equals(CONFIGURATION_QNAME)) { - String configurationName = reader.getElementText(); - if (configurationName != null) { - policy.setConfigurationName(configurationName.trim()); - } - } - - break; - } - } - - if ( event == END_ELEMENT ) { - if ( JAAS_AUTHENTICATION_POLICY_QNAME.equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(JaasAuthenticationPolicy policy, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, - XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - JAAS_AUTHENTICATION_POLICY_QNAME.getLocalPart(), - JAAS_AUTHENTICATION_POLICY_QNAME.getNamespaceURI()); - writer.writeNamespace("tuscany", SCA10_TUSCANY_NS); - - - writer.writeEndElement(); - } - - public Class<JaasAuthenticationPolicy> getModelType() { - return JaasAuthenticationPolicy.class; - } - - public void resolve(JaasAuthenticationPolicy policy, ModelResolver resolver, ProcessorContext context) throws ContributionResolveException { - - if (policy.getCallbackHandlerClassName() != null) { - ClassReference classReference = new ClassReference(policy.getCallbackHandlerClassName()); - classReference = resolver.resolveModel(ClassReference.class, classReference, context); - Class<?> callbackClass = classReference.getJavaClass(); - if (callbackClass == null) { - error(context.getMonitor(), "ClassNotFoundException", resolver, policy.getCallbackHandlerClassName()); - //throw new ContributionResolveException(new ClassNotFoundException(policy.getCallbackHandlerClassName())); - } else { - policy.setCallbackHandlerClass(callbackClass); - policy.setUnresolved(false); - } - } - } - -} diff --git a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProviderFactory.java b/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProviderFactory.java deleted file mode 100644 index ab1ab1870f..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC2/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProviderFactory.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.security.jaas; - -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.EndpointReference; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class JaasAuthenticationPolicyProviderFactory implements PolicyProviderFactory<JaasAuthenticationPolicy> { - - public JaasAuthenticationPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - } - - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component) { - return new JaasAuthenticationImplementationPolicyProvider(component); - } - - public PolicyProvider createReferencePolicyProvider(EndpointReference endpointReference) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createServicePolicyProvider(Endpoint endpoint) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class<JaasAuthenticationPolicy> getModelType() { - return JaasAuthenticationPolicy.class; - } - -} |