provider package

Custom providers allow for the customization and extension of security enforcement as needed, by implementing Provider-side interfaces to author custom providers.

Members

All public members of the provider package.

Remarks

Authentication Provider Interfaces The provider-side authentication interfaces are primarily based on Java Authentication and Authorization Services (JAAS). The goal of the design is to allow any implementation of the JAAS pluggable authentication module system to alternatively plug into the Security Framework. Specifically, the javax.security.auth.spi.LoginModule interface must be implemented by all authentication providers. The Framework provides a flexible mechanism for defining active authentication providers and their control flags. All of the control flags which are defined in JAAS are fully implemented in the Provider Framework. See the JAAS documentation for a complete discussion of the configuration options available with JAAS login modules.

Authorization Provider Interfaces The authorization provider interfaces are defined by the com.sybase.security.provider.Authorizer interface. There are two primary worker methods, checkRole() and checkAccess(). There are also two security context lifecycle methods, initContext() and destroyContext(), and one provider lifecycle method, init(), all of which are inherited from com.sybase.security.provider.SecContextProvider.

Attribution Providers The attribution providers are a catch-all for several different tasks:
  • Enumeration of resources, resource types, actions, roles
  • Retrieval of attributes for resources and subjects
The attribution providers have the same lifecycle methods as the authorization providers. The same rules should be followed with respect to thread-safety; all of the attribution provider methods include a context map which can be used to store state information associated with any given security context.

Profile Providers A profile provider is based on the Profiler interface. A profiler retrieves the profile information given a profile name. Multiple profilers can be configured. There are two supported operations getProfile() and listProfiles(). There are also two security context lifecycle methods, initContext() and destroyContext(), and one provider lifecycle method, init(), all of which are inherited from com.sybase.security.provider.SecProvider. If a profiler does not recognize a profile name then it simply returns null and the getProfile() method calls falls through to the next configured profiler. The listProfiles() method is invoked on all the configured profilers and the aggregate list is returned to the client.