Package com.emc.documentum.rest.security.profile

# Annotation Interface AuthSchemeProfile

@Retention(RUNTIME) @Target(TYPE) @Conditional(com.emc.documentum.rest.security.profile.AuthSchemeCondition.class) @EnableWebSecurity @Configuration public @interface AuthSchemeProfile
Enabling conditional Java web security configurations for classes extending from `AbstractWebSecurity`. To make a security configuration workable only for specific authentication schemes, add the annotation on the configuration class with one or more authentication scheme names. For instance,

     @AuthSchemeProfile(schemes= {"oauth2", "openid-connect"})
     @Configuration
     public class MyCustomWebSecurity extends AbstractWebSecurity {

     @Override protected AuthenticationProvider[] authenticationProviders() {
     return new AuthenticationProvider[0]{ new CustomAuthProvider() };
     }

     @Override
     public AuthenticationEntryPoint entryPoint() {
     return new CustomEntryPoint();
     }

     @Override
     protected void configureSecurityFilters(HttpSecurity http) throws Exception {
     http.addFilterBefore(new CustomAuthFilter(), BasicAuthenticationFilter.class);
     }
     }

To make the annotated security configuration effective at runtime, the property value for 'rest.security.auth.mode' in classpath file 'rest-api-runtime.properties' must match the annotation schemes. For instance,

     rest.security.auth.mode=oauth2

- ## Required Element Summary

  Required Elements
  Modifier and Type
  Required Element
  Description
  `String[]`
  `schemes`
  Supported authentication schemes for the annotated security configuration.

- ## Element Details

  - ### schemes

    String[] schemes
    Supported authentication schemes for the annotated security configuration.
    Returns:
      authentication scheme names