1 /**
2 *
3 * Copyright 2003-2004 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.geronimo.security.realm;
19
20 import org.apache.geronimo.security.jaas.server.JaasLoginModuleConfiguration;
21 import org.apache.geronimo.security.jaas.JaasLoginModuleChain;
22
23
24 /**
25 * @version $Rev: 391894 $ $Date: 2006-04-05 21:00:33 -0700 (Wed, 05 Apr 2006) $
26 */
27 public interface SecurityRealm extends org.apache.geronimo.management.geronimo.SecurityRealm {
28
29 static final String BASE_OBJECT_NAME = "geronimo.security:type=SecurityRealm";
30
31 /**
32 * Gets the JAAS configuration for this security realm.
33 */
34 public JaasLoginModuleConfiguration[] getAppConfigurationEntries();
35
36 /**
37 * If this attribute is true, the login service will not return
38 * principals generated by this realm to clients. If set to false (the
39 * default), the client will get a copy of all principals (except realm
40 * principals generated strictly for use within Geronimo).
41 */
42 public boolean isRestrictPrincipalsToServer();
43
44 /**
45 * If this attribute is true, then the principals will be wrapped in
46 * realm principals.
47 */
48 public boolean isWrapPrincipals();
49
50 /**
51 * Gets a list of the login domains that make up this security realm. A
52 * particular LoginModule represents 0 or 1 login domains, and a realm is
53 * composed of a number of login modules, so the realm may cover any
54 * number of login domains, though typically that number will be 1.
55 */
56 public String[] getLoginDomains();
57
58 /**
59 * Gets the first JaasLoginModuleChain node in the chain of LoginModules
60 * for this realm.
61 */
62 public JaasLoginModuleChain getLoginModuleChain();
63 }