001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.kim.api.identity; 017 018import javax.servlet.http.HttpServletRequest; 019 020/** 021 * This service is used to extract the name of the authenticated principal from 022 * an incoming http request. Depending on the implementation of this service, 023 * it may extract information from a request which has already been authenticated 024 * (i.e. via another service like CAS or Shiboleth). Alternatively, this 025 * implementation might actually perform the authentication itself based on 026 * information available on the http request. 027 * 028 * @author Kuali Rice Team (rice.collab@kuali.org) 029 * 030 */ 031public interface AuthenticationService { 032 033 /** 034 * Returns the principalName of the principal that has authenticated with 035 * the incoming HttpServletRequest. Implementations of this method might 036 * perform actual authentication or merely extract the existing 037 * authenticated principal's name off of the incoming request. 038 * 039 * @param request the incoming HttpServletRequest 040 * @return the principalName of the authenticated principal, or null if 041 * the principal could not be authenticated 042 */ 043 String getPrincipalName(HttpServletRequest request); 044}