Developing Security Providers for WebLogic Server

 Previous Next Contents Index View as PDF  

Introduction to Developing Security Providers for WebLogic Server

Audience for This Guide

Prerequisites for This Guide

Overview of the Development Process

Designing the Custom Security Provider

Creating Runtime Classes for the Custom Security Provider by Implementing SSPIs

Generating an MBean Type to Configure and Manage the Custom Security Provider

Writing Console Extensions

Configuring the Custom Security Provider

Providing Management Mechanisms for Security Policies, Security Roles, and Credential Maps

Design Considerations

General Architecture of a Security Provider

Security Services Provider Interfaces (SSPIs)

Understand an Important Restriction

Understand the Purpose of the "Provider" SSPIs

Determine Which "Provider" Interface You Will Implement

The DeployableAuthorizationProvider SSPI

The DeployableRoleProvider SSPI

The DeployableCredentialProvider SSPI

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

SSPI Quick Reference

Security Service Provider Interface (SSPI) MBeans

Understand Why You Need an MBean Type

Determine Which SSPI MBeans to Extend and Implement

Understand the Basic Elements of an MBean Definition File (MDF)

Understand the SSPI MBean Hierarchy and How It Affects the Administration Console

Understand What the WebLogic MBeanMaker Provides

About the MBean Information File

SSPI MBean Quick Reference

Management Utilities Available to Developers of Security Providers

Security Providers and WebLogic Resources

The Architecture of WebLogic Resources

Types of WebLogic Resources

WebLogic Resource Identifiers

The toString() Method

Resource IDs and the getID() Method

Creating Default Groups for WebLogic Resources

Creating Default Security Roles for WebLogic Resources

Creating Default Security Policies for WebLogic Resources

Looking Up WebLogic Resources in a Security Provider's Runtime Class

Single-Parent Resource Hierarchies

Pattern Matching for URL Resources

ContextHandlers and WebLogic Resources

Initializing the Security Provider Database

Best Practice: Create a Simple Database If None Exists

Best Practice: Configure an Existing Database

Best Practice: Delegate Database Initialization

Authentication Providers

Authentication Concepts

Users and Groups, Principals and Subjects

LoginModules

The LoginModule Interface

LoginModules and Multipart Authentication

Java Authentication and Authorization Service (JAAS)

How JAAS Works With the WebLogic Security Framework

Example: Standalone T3 Application

The Authentication Process

Do You Need to Develop a Custom Authentication Provider?

How to Develop a Custom Authentication Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the AuthenticationProvider SSPI

Implement the JAAS LoginModule Interface

Throwing Custom Exceptions from LoginModules

Example: Creating the Runtime Classes for the Sample Authentication Provider

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Authentication Provider Using the Administration Console

Managing User Lockouts

Identity Assertion Providers

Identity Assertion Concepts

Identity Assertion Providers and LoginModules

Identity Assertion and Tokens

How to Create New Token Types

How to Make New Token Types Available for Identity Assertion Provider Configurations

Passing Tokens for Perimeter Authentication

Common Secure Interoperability Version 2 (CSIv2)

The Identity Assertion Process

Do You Need to Develop a Custom Identity Assertion Provider?

How to Develop a Custom Identity Assertion Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the AuthenticationProvider SSPI

Implement the IdentityAsserter SSPI

Example: Creating the Runtime Class for the Sample Identity Assertion Provider

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Identity Assertion Provider Using the Administration Console

Principal Validation Providers

Principal Validation Concepts

Principal Validation and Principal Types

How Principal Validation Providers Differ From Other Types of Security Providers

Security Exceptions Resulting from Invalid Principals

The Principal Validation Process

Do You Need to Develop a Custom Principal Validation Provider?

How to Use the WebLogic Principal Validation Provider

How to Develop a Custom Principal Validation Provider

Implement the PrincipalValidator SSPI

Authorization Providers

Authorization Concepts

Access Decisions

The Authorization Process

Do You Need to Develop a Custom Authorization Provider?

How to Develop a Custom Authorization Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the AuthorizationProvider SSPI

Implement the DeployableAuthorizationProvider SSPI

Implement the AccessDecision SSPI

Example: Creating the Runtime Class for the Sample Authorization Provider

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Authorization Provider Using the Administration Console

Managing Authorization Providers and Deployment Descriptors

Enabling Security Policy Deployment

Provide a Mechanism for Security Policy Management

Option 1: Create Your Own "Policy Editor" Page Using Console Extensions

Option 2: Develop a Stand-Alone Tool for Security Policy Management

Option 3: Integrate an Existing Security Policy Management Tool into the Administration Console

Adjudication Providers

The Adjudication Process

Do You Need to Develop a Custom Adjudication Provider?

How to Develop a Custom Adjudication Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the AdjudicationProvider SSPI

Implement the Adjudicator SSPI

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Adjudication Provider Using the Administration Console

Role Mapping Providers

Role Mapping Concepts

Security Roles

Dynamic Security Role Computation

The Role Mapping Process

Do You Need to Develop a Custom Role Mapping Provider?

How to Develop a Custom Role Mapping Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the RoleProvider SSPI

Implement the DeployableRoleProvider SSPI

Implement the RoleMapper SSPI

Implement the SecurityRole Interface

Example: Creating the Runtime Class for the Sample Role Mapping Provider

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Role Mapping Provider Using the Administration Console

Managing Role Mapping Providers and Deployment Descriptors

Enabling Security Role Deployment

Provide a Mechanism for Security Role Management

Option 1: Create Your Own "Role Editor" Page Using Console Extensions

Option 2: Develop a Stand-Alone Tool for Security Role Management

Option 3: Integrate an Existing Security Role Management Tool into the Administration Console

Auditing Providers

Auditing Concepts

Audit Channels

Auditing Events From Custom Security Providers

The Auditing Process

Do You Need to Develop a Custom Auditing Provider?

How to Develop a Custom Auditing Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the AuditProvider SSPI

Implement the AuditChannel SSPI

Example: Creating the Runtime Class for the Sample Auditing Provider

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Auditing Provider Using the Administration Console

Configuring Audit Severity

Credential Mapping Providers

Credential Mapping Concepts

The Credential Mapping Process

Do You Need to Develop a Custom Credential Mapping Provider?

How to Develop a Custom Credential Mapping Provider

Create Runtime Classes Using the Appropriate SSPIs

Implement the CredentialProvider SSPI

Implement the DeployableCredentialProvider SSPI

Implement the CredentialMapper SSPI

Generate an MBean Type Using the WebLogic MBeanMaker

Create an MBean Definition File (MDF)

Use the WebLogic MBeanMaker to Generate the MBean Type

Use the WebLogic MBeanMaker to Create the MBean JAR File (MJF)

Install the MBean Type Into the WebLogic Server Environment

Configure the Custom Credential Mapping Provider Using the Administration Console

Managing Credential Mapping Providers, Resource Adapters, and Deployment Descriptors

Enabling Deployable Credential Mappings

Provide a Mechanism for Credential Map Management

Option 1: Develop a Stand-Alone Tool for Credential Map Management

Option 2: Integrate an Existing Credential Map Management Tool into the Administration Console

Auditing Events From Custom Security Providers

Security Services and the Auditor Service

How to Audit From a Custom Security Provider

Create an Audit Event

Implement the AuditEvent SSPI

Implement an Audit Event Convenience Interface

Audit Severity

Audit Context

Example: Implementation of the AuditRoleEvent Interface

Obtain and Use the Auditor Service to Write Audit Events

Example: Obtaining and Using the Auditor Service to Write Role Audit Events

Writing Console Extensions for Custom Security Providers

When Should I Write a Console Extension?

When In the Development Process Should I Write a Console Extension?

How Writing a Console Extension for a Custom Security Provider Differs From a Basic Console Extension

Main Steps for Writing an Administration Console Extension

Replacing Custom Security Provider-Related Administration Console Dialog Screens Using the SecurityExtension Interface

How a Console Extension Affects the Administration Console

MBean Definition File (MDF) Element Syntax

The MBeanType (Root) Element

The MBeanAttribute Subelement

The MBeanNotification Subelement

The MBeanConstructor Subelement

The MBeanOperation Subelement

Examples: Well-Formed and Valid MBean Definition Files (MDFs)

 

Back to Top Previous Next