]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/plugins/org.argeo.security.ui.rap/src/main/java/org/argeo/security/ui/rap/SecureRapActivator.java
Remove inherited thread local from RAP
[lgpl/argeo-commons.git] / security / plugins / org.argeo.security.ui.rap / src / main / java / org / argeo / security / ui / rap / SecureRapActivator.java
1 /*
2 * Copyright (C) 2007-2012 Mathieu Baudier
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.security.ui.rap;
17
18 import java.net.URL;
19
20 import org.eclipse.equinox.security.auth.ILoginContext;
21 import org.eclipse.equinox.security.auth.LoginContextFactory;
22 import org.osgi.framework.BundleActivator;
23 import org.osgi.framework.BundleContext;
24
25 /** Configure Equinox login context from the bundle context. */
26 public class SecureRapActivator implements BundleActivator {
27
28 public final static String ID = "org.argeo.security.ui.rap";
29 public final static String CONTEXT_SPRING = "SPRING";
30 public final static String CONTEXT_SPRING_ANONYMOUS = "SPRING_ANONYMOUS";
31 private static final String JAAS_CONFIG_FILE = "/META-INF/jaas_default.txt";
32
33 private BundleContext bundleContext;
34 private static SecureRapActivator activator = null;
35
36 public void start(BundleContext bundleContext) throws Exception {
37 activator = this;
38 this.bundleContext = bundleContext;
39 }
40
41 public void stop(BundleContext context) throws Exception {
42 bundleContext = null;
43 activator = null;
44 }
45
46 public BundleContext getBundleContext() {
47 return bundleContext;
48 }
49
50 public static SecureRapActivator getActivator() {
51 return activator;
52 }
53
54 static ILoginContext createLoginContext(String contextName) {
55 URL configUrl = getActivator().getBundleContext().getBundle()
56 .getEntry(JAAS_CONFIG_FILE);
57 return LoginContextFactory.createContext(contextName, configUrl);
58 }
59 }