//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// .Net StockTrader Sample WCF Application for Benchmarking, Performance Analysis and Design Considerations for Service-Oriented Applications
//======================================================================================================
// This is the BSL Custom Username validator. It utilizes the provide base class,
// CustomUserNameValidator, that comes with Config Service. This base class uses the Configuration
// Service repository itself to validate against this user store. You can override to validate against
// your own custom store of username/passwords.
//======================================================================================================
using System;
using System.Collections.Generic;
using System.Text;
using Trade.Utility;
using Trade.BusinessServiceConfigurationSettings;
namespace Trade.BusinessServiceImplementation
{
///
/// No override necessary--we are going to use stock base methods to validate
/// against the service repository Users table.
///
public class TradeBSLCustomUserNameValidator : CustomUserNameValidator
{
public TradeBSLCustomUserNameValidator() { }
///
/// Overrides to instead validate the username/password against the Configuration DB Users table.
///
/// User id coming in as UserName credentials from client.
/// Password coming in as UserName credentials from client.
public override void Validate(string userName, string password)
{
//Add custom user name validation if desired here. Will only be activated if binding security is
//set for ClientCredentials = UserName.
if (userName!=Settings.BSL_VALID_USERID || password!=Settings.BSL_VALID_PASSWORD)
throw new Exception("UserName Authentication Failed");
}
}
}