Understand the SSPI Hierarchy and Determine Whether You Will Create One or Two Runtime Classes SSPI Quick Reference

3-6 Developing Security Providers for Oracle WebLogic Server

3.2.5 Understand the SSPI Hierarchy and Determine Whether You Will Create One or Two Runtime Classes

Figure 3–3 uses a Credential Mapping provider to illustrate the inheritance hierarchy that is common to all SSPIs, and shows how a runtime class you supply can implement those interfaces. In this example, Oracle supplies the SecurityProvider interface, and the CredentialProviderV2 and CredentialMapperV2 SSPIs. Figure 3–3 shows a single runtime class called MyCredentialMapperProviderImpl that implements the CredentialProviderV2 and CredentialMapperV2 SSPIs. Figure 3–3 Credential Mapping SSPIs and a Single Runtime Class However, Figure 3–3 illustrates only one way you can implement SSPIs: by creating a single runtime class. If you prefer, you can have two runtime classes as shown in Figure 3–4 : one for the implementation of the SSPI ending in Provider for example, CredentialProviderV2, and one for the implementation of the other SSPI for example, the CredentialMapperV2 SSPI. When there are separate runtime classes, the class that implements the SSPI ending in Provider acts as a factory for generating the runtime class that implements the other SSPI. For example, in Figure 3–4 , MyCredentialMapperProviderImpl acts as a factory for generating MyCredentialMapperImpl. Note: For more information about credentials, see Section 11.1, Credential Mapping Concepts. For more information about security policies, see Security Policies in Securing Resources Using Roles and Policies for Oracle WebLogic Server. Design Considerations 3-7 Figure 3–4 Credential Mapping SSPIs and Two Runtime Classes

3.2.6 SSPI Quick Reference

Table 3–1 maps the types of security providers and their components with the SSPIs and other interfaces you use to develop them. Note: If you decide to have two runtime implementation classes, you need to remember to include both runtime implementation classes in the MBean JAR File MJF when you generate the security providers MBean type. For more information, see Section 2.2.3, Generating an MBean Type to Configure and Manage the Custom Security Provider. Table 3–1 Security Providers, Their Components, and Corresponding SSPIs TypeComponent SSPIsInterfaces Authentication provider AuthenticationProviderV2 LoginModule JAAS LoginModule Identity Assertion provider AuthenticationProviderV2 Identity Asserter IdentityAsserterV2 Principal Validation provider PrincipalValidator Authorization AuthorizationProvider DeployableAuthorizationProviderV2 Access Decision AccessDecision Adjudication provider AdjudicationProviderV2 Adjudicator AdjudicatorV2 Role Mapping provider RoleProvider DeployableRoleProviderV2 3-8 Developing Security Providers for Oracle WebLogic Server

3.3 Security Service Provider Interface SSPI MBeans