1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.api.security; 8 9 import org.mule.api.lifecycle.Initialisable; 10 11 /** 12 * <code>SecurityProvider</code> is a target security provider that actually 13 * does the work of authenticating credentials and populating the Authentication 14 * object. 15 */ 16 public interface SecurityProvider extends Initialisable 17 { 18 void setName(String name); 19 20 String getName(); 21 22 Authentication authenticate(Authentication authentication) throws SecurityException; 23 24 boolean supports(Class aClass); 25 26 SecurityContext createSecurityContext(Authentication auth) 27 throws UnknownAuthenticationTypeException; 28 }