cas/src/main/java/org/springframework/security/cas/authentication/CasAuthenticationProvider.java
private String getServiceUrl(Authentication authentication) {
		String serviceUrl;
		if (authentication.getDetails() instanceof ServiceAuthenticationDetails) {
			serviceUrl = ((ServiceAuthenticationDetails) authentication.getDetails())
					.getServiceUrl();
		}
		else if (serviceProperties == null) {
			throw new IllegalStateException(
					"serviceProperties cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails.");
		}
		else if (serviceProperties.getService() == null) {
			throw new IllegalStateException(
					"serviceProperties.getService() cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails.");
		}
		else {
			serviceUrl = serviceProperties.getService();
		}
		if (logger.isDebugEnabled()) {
			logger.debug("serviceUrl = " + serviceUrl);
		}
		return serviceUrl;
	}
private String getServiceUrl(Authentication authentication) {
		String serviceUrl;
		if (authentication.getDetails() instanceof ServiceAuthenticationDetails) {
			serviceUrl = ((ServiceAuthenticationDetails) authentication.getDetails())
					.getServiceUrl();
		}
		else if (serviceProperties == null) {
			throw new IllegalStateException(
					"serviceProperties cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails.");
		}
		else if (serviceProperties.getService() == null) {
			throw new IllegalStateException(
					"serviceProperties.getService() cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails.");
		}
		else {
			serviceUrl = serviceProperties.getService();
		}
		if (logger.isDebugEnabled()) {
			logger.debug("serviceUrl = " + serviceUrl);
		}
		return serviceUrl;
	}
private String getServiceUrl ( Authentication authentication ) { String serviceUrl ; if ( authentication . getDetails ( ) instanceof ServiceAuthenticationDetails ) { serviceUrl = ( ( ServiceAuthenticationDetails ) authentication . getDetails ( ) ) . getServiceUrl ( ) ; } else if ( serviceProperties == null ) { throw new IllegalStateException ( "serviceProperties cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails." ) ; } else if ( serviceProperties . getService ( ) == null ) { throw new IllegalStateException ( "serviceProperties.getService() cannot be null unless Authentication.getDetails() implements ServiceAuthenticationDetails." ) ; } else { serviceUrl = serviceProperties . getService ( ) ; } if ( logger . isDebugEnabled ( ) ) { logger . debug ( "serviceUrl = " + serviceUrl ) ; } return serviceUrl ; }
Gets the serviceUrl. If the {@link Authentication#getDetails()} is an instance of
{@link ServiceAuthenticationDetails}, then
{@link ServiceAuthenticationDetails#getServiceUrl()} is used. Otherwise, the
{@link ServiceProperties#getService()} is used.

@param authentication
@return
Gets the serviceUrl . If the { @link Authentication#getDetails () } is an instance of { @link ServiceAuthenticationDetails } then { @link ServiceAuthenticationDetails#getServiceUrl () } is used . Otherwise the { @link ServiceProperties#getService () } is used .