01: /**
02: *
03: * Licensed to the Apache Software Foundation (ASF) under one or more
04: * contributor license agreements. See the NOTICE file distributed with
05: * this work for additional information regarding copyright ownership.
06: * The ASF licenses this file to You under the Apache License, Version 2.0
07: * (the "License"); you may not use this file except in compliance with
08: * the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */package org.apache.openejb.client;
18:
19: import javax.security.auth.Subject;
20: import java.security.AccessController;
21: import java.util.Set;
22:
23: public class JaasIdentityResolver implements IdentityResolver {
24: public Object getIdentity() {
25: Subject subject = Subject.getSubject(AccessController
26: .getContext());
27: if (subject == null) {
28: return null;
29: }
30:
31: Set<ClientIdentityPrincipal> identityPrincipals = subject
32: .getPrincipals(ClientIdentityPrincipal.class);
33: if (identityPrincipals.isEmpty()) {
34: return null;
35: }
36:
37: ClientIdentityPrincipal principal = identityPrincipals
38: .iterator().next();
39: return principal.getClientIdentity();
40: }
41: }
|