View Javadoc

1   /*
2    * Copyright (c) 2005-2007 Creative Sphere Limited.
3    * All rights reserved. This program and the accompanying materials
4    * are made available under the terms of the Eclipse Public License v1.0
5    * which accompanies this distribution, and is available at
6    * http://www.eclipse.org/legal/epl-v10.html
7    *
8    * Contributors:
9    *
10   *   Creative Sphere - initial API and implementation
11   *
12   */
13  
14  package org.abstracthorizon.danube.auth;
15  
16  import java.util.HashMap;
17  import java.util.Map;
18  
19  import javax.security.auth.login.AppConfigurationEntry;
20  import javax.security.auth.login.Configuration;
21  
22  /**
23   * Authorisation configuiration that can be defined through spring configuration (or in that matter
24   * any other programmable way.
25   *
26   * @author Daniel Sendula
27   */
28  public class SpringAuthConfiguration extends Configuration {
29  
30      /** Login modules mapped to configuration entries */
31      protected Map<String, AppConfigurationEntry[]> entries = new HashMap<String, AppConfigurationEntry[]>();
32  
33      /**
34       * Constructor
35       */
36      public SpringAuthConfiguration() {
37      }
38  
39      /**
40       * Establishes itself as a authorisation configuration
41       *
42       */
43      public void init() {
44          setConfiguration(this);
45      }
46  
47      @Override
48      public AppConfigurationEntry[] getAppConfigurationEntry(String loginContext) {
49          return entries.get(loginContext);
50      }
51  
52      /**
53       * Sets array of application configuration entry at given login context
54       * @param loginContext login context
55       * @param entries application configuraiton entries
56       */
57      public void setAppConfigurationEntry(String loginContext, AppConfigurationEntry[] entries) {
58          this.entries.put(loginContext, entries);
59      }
60  
61      /**
62       * Removes login context
63       * @param loginContext login context
64       */
65      public void removeAppConfigurationEntry(String loginContext) {
66          this.entries.remove(loginContext);
67      }
68  
69  //    public void setAppConfigurationEntry(String name, List<AppConfigurationEntry> entries) {
70  //        AppConfigurationEntry[] es = new AppConfigurationEntry[entries.size()];
71  //        es = (AppConfigurationEntry[])entries.toArray(es);
72  //        this.entries.put(name, es);
73  //    }
74  
75      /**
76       * Does nothing
77       */
78      @Override
79      public void refresh() {
80      }
81  
82  }